/* One report stylesheet for the console, exported HTML and print. */
:is(#reports-workspace, body.rp-export) {
  --rp-text: var(--theme-text, #202722);
  --rp-muted: var(--theme-muted, #69736D);
  --rp-panel: var(--theme-panel, #FFFFFF);
  --rp-raised: var(--theme-raised, #F8F9F5);
  --rp-line: var(--theme-border, #DDE2D7);
  --rp-bg: var(--theme-bg, #F4F3EE);
  --rp-link: var(--theme-blue, #224FBE);
  --rp-focus: #3579D5;
  --rp-critical-bg: #FBECEA;
  --rp-critical-text: #A43A32;
  --rp-high-bg: #FCF0E2;
  --rp-high-text: #98501E;
  --rp-medium-bg: #F6F2DC;
  --rp-medium-text: #75611A;
  --rp-good-bg: #EAF3EC;
  --rp-good-text: #256A48;
  color: var(--rp-text);
  font: 13px/1.55 Onest, Arial, sans-serif;
  min-width: 0;
}
body.rp-export { margin: 0; padding: 28px; background: var(--rp-bg); }
body.rp-export *, #reports-workspace * { box-sizing: border-box; }
body.rp-export .rp-document { max-width: 1120px; margin-inline: auto; }
#reports-workspace .page-head { margin-bottom: 18px; }
#reports-workspace .page-head .subtitle:empty { display: none; }
#reports-workspace .page-head h1 { color: var(--rp-text); }
.rp-toolbar { display: flex; align-items: flex-end; gap: 14px; flex-wrap: wrap; margin-bottom: 18px; min-width: 0; }
.rp-filters { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 10px; flex: 1; min-width: 0; }
.rp-filters label { display: grid; gap: 5px; min-width: 120px; max-width: 100%; color: var(--rp-muted); font-size: 11px; line-height: 1.4; }
.rp-filters select { width: 100%; min-width: 0; max-width: 100%; min-height: 38px; padding: 8px 34px 8px 10px; border: 1px solid var(--rp-line); border-radius: 5px; background-color: var(--rp-panel); color: var(--rp-text); font: 13px/20px Onest, Arial, sans-serif; }
.rp-export-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-left: auto; }
#reports-workspace .rp-export-actions > .btn, .rp-export-menu > summary { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 38px; padding: 8px 12px; border: 1px solid var(--rp-line); border-radius: 5px; background: var(--rp-panel); color: var(--rp-text); font: 550 12px/20px Onest, Arial, sans-serif; white-space: nowrap; cursor: pointer; }
.rp-export-menu { position: relative; min-width: 0; }
.rp-export-menu > summary { list-style: none; }
.rp-export-menu > summary::-webkit-details-marker { display: none; }
.rp-export-menu > summary::after { content: ""; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); margin-left: 5px; }
.rp-export-menu[open] > summary { background: var(--rp-raised); }
.rp-export-menu > :not(summary) { position: absolute; top: calc(100% + 6px); right: 0; z-index: 12; display: grid; gap: 2px; min-width: 180px; max-width: min(260px, calc(100vw - 34px)); padding: 5px; border: 1px solid var(--rp-line); border-radius: 6px; background: var(--rp-panel); box-shadow: 0 8px 24px #0C0E121A; }
#reports-workspace .rp-export-menu :is(button, a) { display: flex; align-items: center; justify-content: flex-start; gap: 8px; width: 100%; min-height: 36px; margin: 0; padding: 8px 10px; border: 0; border-radius: 3px; background: transparent; color: var(--rp-text); font: 12px/1.5 Onest, Arial, sans-serif; text-align: left; text-decoration: none; white-space: normal; cursor: pointer; }
#reports-workspace .rp-export-menu :is(button, a):hover { background: var(--rp-raised); }
.rp-toolbar .icon, .rp-record-links .icon, .rp-source-link .icon, .rp-document-footer .icon { width: 14px; height: 14px; flex-shrink: 0; }
:is(#reports-workspace, body.rp-export) :is(button, select, summary, a):focus-visible { outline: 2px solid var(--rp-focus); outline-offset: 3px; }
.rp-document { min-width: 0; overflow: visible; border: 1px solid var(--rp-line); border-radius: 6px; background: var(--rp-panel); color: var(--rp-text); container: rp-report / inline-size; }
.rp-document :is(h1, h2, h3, h4, p, dl, dd) { margin: 0; }
.rp-document :is(h1, h2, h3, h4) { color: var(--rp-text); font-family: Onest, Arial, sans-serif; }
.rp-document :is(p, li, dd, dt, a, button, strong, small, code) { overflow-wrap: anywhere; }
.rp-document-header { padding: 20px 22px 16px; border-bottom: 1px solid var(--rp-line); }
.rp-document-brand { color: var(--rp-text); font-family: "IBM Plex Sans", Onest, Arial, sans-serif; font-size: 13px; font-weight: 600; line-height: 1.4; margin-bottom: 8px; }
.rp-document-brand span { color: #F2501F; }
.rp-document-title { font-size: 24px; line-height: 1.3; font-weight: 600; letter-spacing: -.55px; }
.rp-document-meta { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 16px; margin-top: 8px; color: var(--rp-muted); font-size: 11px; line-height: 1.55; }
.rp-document-meta strong { color: var(--rp-text); font-weight: 550; }
.rp-section { min-width: 0; padding: 18px 22px; border-bottom: 1px solid var(--rp-line); }
.rp-section:last-child { border-bottom: 0; }
.rp-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.rp-section-head :is(h2, h3), .rp-section > :is(h2, h3) { font-size: 17px; font-weight: 600; line-height: 1.4; letter-spacing: -.2px; }
.rp-section > :is(h2, h3) { margin-bottom: 10px; }
.rp-section-head p { color: var(--rp-muted); font-size: 12px; line-height: 1.55; }
.rp-section > p + p { margin-top: 8px; }
.rp-document .rp-ceo-lead { font-size: 16px; line-height: 1.6; color: var(--rp-text); }
.rp-key-findings { padding-left: 19px; margin: 10px 0 0; }
.rp-key-findings li { padding-left: 2px; margin-top: 6px; line-height: 1.6; }
.rp-results { display: grid; gap: 0; }
.rp-results > div { display: grid; grid-template-columns: 135px minmax(0, 1fr); gap: 16px; padding: 11px 0; border-bottom: 1px solid var(--rp-line); }
.rp-results > div:first-child { padding-top: 0; }
.rp-results > div:last-child { padding-bottom: 0; border-bottom: 0; }
.rp-results dt { font-size: 12px; font-weight: 550; color: var(--rp-text); }
.rp-results dd { font-size: 13px; color: var(--rp-text); line-height: 1.6; }
.rp-people-summary { color: var(--rp-text); font-size: 14px; line-height: 1.6; }
.rp-people-summary strong { font-weight: 600; font-variant-numeric: tabular-nums; }
.rp-campaign-summary { margin-top: 14px; min-width: 0; }
.rp-campaign-summary:first-child { margin-top: 0; }
.rp-campaign-summary :is(h3, h4) { font-size: 13px; font-weight: 600; line-height: 1.5; }
.rp-campaign-summary > p, .rp-campaign-summary > small { display: block; color: var(--rp-muted); font-size: 11px; line-height: 1.6; margin-top: 3px; }
.rp-campaign-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 12px !important; }
.rp-campaign-metrics > div { min-width: 0; }
.rp-campaign-metrics dt { color: var(--rp-muted); font-size: 11px; line-height: 1.55; margin-bottom: 3px; }
.rp-campaign-metrics dd { color: var(--rp-text); font-size: 13px; line-height: 1.55; font-variant-numeric: tabular-nums; }
.rp-campaign-metrics strong { font-weight: 600; }
.rp-ciso-summary { display: flex; align-items: baseline; gap: 12px 28px; flex-wrap: wrap; padding: 0; }
.rp-ciso-summary > div { display: flex; align-items: baseline; gap: 8px; min-width: 0; }
.rp-ciso-summary dt { color: var(--rp-muted); font-size: 12px; }
.rp-ciso-summary dd { color: var(--rp-text); font-size: 16px; font-weight: 600; font-variant-numeric: tabular-nums; }
.rp-ciso-summary + p, .rp-ciso-summary-note { margin-top: 8px; padding: 0; color: var(--rp-muted); font-size: 12px; }
.rp-priority-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 16px; min-width: 0; padding: 0 22px 20px; border-bottom: 1px solid var(--rp-line); }
.rp-queue { min-width: 0; border: 1px solid var(--rp-line); border-radius: 5px; background: var(--rp-panel); overflow: hidden; }
.rp-queue > :is(h2, h3), .rp-queue > .rp-section-head { margin: 0; padding: 11px 16px; border-bottom: 1px solid var(--rp-line); background: var(--rp-raised); font-size: 14px; line-height: 1.5; font-weight: 600; letter-spacing: 0; }
.rp-queue .rp-section-head :is(h2, h3) { font-size: 14px; letter-spacing: 0; }
.rp-record-list { list-style: none; padding: 0; margin: 0; }
.rp-record { min-width: 0; padding: 12px 16px; border-bottom: 1px solid var(--rp-line); }
.rp-record:last-child { border-bottom: 0; }
.rp-record-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.rp-record-heading :is(h3, h4), .rp-record-heading > a, .rp-record-heading > strong { min-width: 0; font-size: 13px; font-weight: 600; line-height: 1.5; color: var(--rp-text); }
.rp-record-heading > :is(.badge, .rp-severity, .rp-validation) { flex-shrink: 0; }
.rp-record-meta { display: flex; align-items: baseline; flex-wrap: wrap; gap: 3px 10px; margin-top: 4px; color: var(--rp-muted); font-size: 11px; line-height: 1.5; }
.rp-record-effect { margin-top: 8px !important; color: var(--rp-text); font-size: 13px; line-height: 1.6; }
.rp-record-fix { margin-top: 8px !important; color: var(--rp-muted); font-size: 12px; line-height: 1.55; }
.rp-record-fix strong { color: var(--rp-text); font-weight: 550; }
.rp-record-change { display: block; margin-top: 5px; color: var(--rp-link); font-size: 11px; line-height: 1.55; }
.rp-record-links { display: flex; align-items: center; flex-wrap: wrap; gap: 7px 16px; margin-top: 8px; font-size: 11px; }
.rp-record-links:empty, .rp-record-fix:empty, .rp-record-change:empty { display: none; }
.rp-source-link, .rp-text-link, .rp-document a { color: var(--rp-link); text-decoration: none; }
.rp-source-link, .rp-text-link { display: inline-flex; align-items: center; gap: 6px; border: 0; padding: 0; background: transparent; font: 550 12px/1.55 Onest, Arial, sans-serif; text-align: left; cursor: pointer; }
.rp-source-link:hover, .rp-text-link:hover, .rp-document a:hover { text-decoration: underline; text-underline-offset: 3px; }
.rp-document span.rp-source-link { cursor: inherit; color: inherit; }
.rp-document :is(.badge, .rp-severity), .rp-validation { display: inline-flex; align-items: center; gap: 5px; padding: 3px 7px; border-radius: 4px; background: var(--rp-raised); color: var(--rp-muted); font: 550 10px/1.5 Onest, Arial, sans-serif; white-space: nowrap; }
.rp-document :is(.badge, .rp-severity).critical { background: var(--rp-critical-bg); color: var(--rp-critical-text); }
.rp-document :is(.badge, .rp-severity).high { background: var(--rp-high-bg); color: var(--rp-high-text); }
.rp-document :is(.badge, .rp-severity).medium, .rp-validation.is-conditional { background: var(--rp-medium-bg); color: var(--rp-medium-text); }
.rp-document :is(.badge, .rp-severity).good, .rp-validation.is-confirmed { background: var(--rp-good-bg); color: var(--rp-good-text); }
.rp-waiting-list { list-style: none; margin: 0; padding: 0; }
.rp-waiting-list > li { padding: 10px 0; border-bottom: 1px solid var(--rp-line); }
.rp-waiting-list > li:first-child { padding-top: 0; }
.rp-waiting-list > li:last-child { padding-bottom: 0; border-bottom: 0; }
.rp-waiting-list :is(p, small) { display: block; margin-top: 4px; color: var(--rp-muted); font-size: 12px; }
.rp-empty { padding: 12px 0; color: var(--rp-muted); font-size: 13px; line-height: 1.6; }
.rp-queue > .rp-empty { padding: 12px 16px; }
.rp-document-footer { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 8px 20px; padding: 13px 22px; color: var(--rp-muted); font-size: 11px; line-height: 1.55; }
.rp-document-footer .rp-text-link { font-size: 12px; }
.rp-evidence-list { display: grid; gap: 10px; }
.rp-finding { min-width: 0; border: 1px solid var(--rp-line); border-radius: 5px; }
.rp-finding > summary { display: flex; align-items: flex-start; gap: 12px; padding: 12px 16px; border-radius: 5px; background: var(--rp-raised); color: var(--rp-text); list-style: none; cursor: pointer; }
.rp-finding > summary::-webkit-details-marker { display: none; }
.rp-finding > summary::after { content: ""; flex-shrink: 0; width: 7px; height: 7px; margin: 5px 2px 0 4px; border-right: 1.5px solid var(--rp-muted); border-bottom: 1.5px solid var(--rp-muted); transform: rotate(45deg); }
.rp-finding[open] > summary { border-bottom: 1px solid var(--rp-line); border-radius: 5px 5px 0 0; }
.rp-finding[open] > summary::after { transform: rotate(225deg); margin-top: 9px; }
.rp-finding-id { color: var(--rp-muted); font-size: 11px; line-height: 1.8; white-space: nowrap; }
.rp-finding-title { flex: 1; min-width: 0; color: var(--rp-text); font-size: 13px; font-weight: 600; line-height: 1.55; }
.rp-finding-title small { display: block; margin-top: 3px; color: var(--rp-muted); font-size: 11px; font-weight: 400; }
.rp-finding > summary .rp-validation { margin-left: auto; }
.rp-finding-body { min-width: 0; padding: 16px; }
.rp-finding-body :is(h3, h4), .rp-component > :is(h3, h4), .rp-linked-scenario > :is(h3, h4) { margin: 17px 0 7px; color: var(--rp-text); font-size: 13px; font-weight: 600; line-height: 1.5; }
.rp-finding-body > :is(h3, h4):first-child { margin-top: 0; }
.rp-finding-body :is(p, li) { color: var(--rp-text); font-size: 13px; line-height: 1.65; }
.rp-finding-body p + p { margin-top: 7px; }
.rp-finding-body :is(ul, ol) { padding-left: 20px; margin: 6px 0 0; }
.rp-finding-body li + li { margin-top: 5px; }
.rp-finding-facts, .rp-keyvalues { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 20px; margin: 0 0 14px !important; }
.rp-finding-facts > div, .rp-keyvalues > div { min-width: 0; }
.rp-finding-facts dt, .rp-keyvalues dt { color: var(--rp-muted); font-size: 11px; margin-bottom: 3px; }
.rp-finding-facts dd, .rp-keyvalues dd { color: var(--rp-text); font-size: 13px; line-height: 1.6; }
.rp-finding-facts small { display: block; margin-top: 3px; color: var(--rp-muted); font-size: 11px; }
.rp-vector { display: block; max-width: 100%; margin: 9px 0 13px; padding: 8px 10px; background: var(--rp-raised); border: 1px solid var(--rp-line); border-radius: 4px; color: var(--rp-muted); font: 11px/1.6 ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; white-space: pre-wrap; }
.rp-finding-body pre, pre.rp-proof { max-width: 100%; min-width: 0; overflow: auto; margin: 9px 0 13px; padding: 12px; border: 1px solid var(--rp-line); border-radius: 4px; background: var(--rp-raised); color: var(--rp-text); font: 11px/1.65 ui-monospace, SFMono-Regular, Consolas, monospace; tab-size: 2; white-space: pre; overflow-wrap: normal; }
.rp-component, .rp-linked-scenario { min-width: 0; padding-top: 4px; }
.rp-linked-scenario + .rp-linked-scenario { margin-top: 12px; border-top: 1px solid var(--rp-line); }
.rp-table-scroll { max-width: 100%; min-width: 0; }
.rp-table { width: 100%; min-width: 0; table-layout: fixed; border-collapse: collapse; text-align: left; font-size: 12px; line-height: 1.55; }
.rp-table th { padding: 10px 12px; border-bottom: 1px solid var(--rp-line); background: var(--rp-raised); color: var(--rp-muted); font-size: 11px; font-weight: 550; vertical-align: top; overflow-wrap: anywhere; }
.rp-table td { padding: 11px 12px; border-bottom: 1px solid var(--rp-line); color: var(--rp-text); vertical-align: top; overflow-wrap: anywhere; }
.rp-table tr:last-child td { border-bottom: 0; }
.rp-table :is(h3, h4) { font-size: 12px; line-height: 1.5; margin-top: 4px; }
.rp-table :is(small, p) { display: block; margin-top: 4px; color: var(--rp-muted); font-size: 11px; line-height: 1.6; }
.rp-table .rp-source-link { font-size: 11px; }
/* Assessment briefs keep conclusions readable without turning them into cards. */
#reports-workspace .rp-toolbar,
.rp-document[data-report-type="security"],
body.rp-export .rp-document[data-report-type="security"] { max-width: 980px; }
.rp-brief { min-width: 0; }
.rp-brief .rp-assessment-section { padding: 17px 24px; }
.rp-brief .rp-assessment-section > h3 { margin: 0 0 7px; font-size: 16px; line-height: 1.45; font-weight: 600; letter-spacing: -.2px; }
.rp-brief .rp-assessment-lead { max-width: 84ch; font-size: 15px; line-height: 1.6; font-weight: 500; letter-spacing: -.1px; }
.rp-brief .rp-assessment-copy { max-width: 104ch; color: var(--rp-text); font-size: 13px; line-height: 1.65; }
.rp-brief :is(.rp-assessment-lead, .rp-assessment-copy) + .rp-assessment-copy { margin-top: 7px; }
.rp-document[data-report-type="security"] .rp-assessment-section > h3 { font-size: 12px; line-height: 1.45; font-weight: 600; letter-spacing: 0; color: var(--rp-muted); }
.rp-document[data-report-type="security"] .rp-assessment-lead { max-width: 76ch; font-size: 18px; line-height: 1.5; font-weight: 550; letter-spacing: -.3px; }
.rp-assessment-links { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 18px; min-width: 0; margin-top: 7px; }
.rp-assessment-links .rp-source-link { min-height: 24px; font-size: 11px; line-height: 1.55; }
.rp-verification-details { border-bottom: 1px solid var(--rp-line); }
.rp-verification-details > summary { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 15px 24px; color: var(--rp-text); font-size: 13px; font-weight: 550; line-height: 1.5; list-style: none; cursor: pointer; }
.rp-verification-details > summary::-webkit-details-marker { display: none; }
.rp-verification-details > summary::before { content: ""; width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(-45deg); flex-shrink: 0; }
.rp-verification-details[open] > summary::before { transform: rotate(45deg); }
.rp-verification-details > summary:hover { background: var(--rp-raised); }
.rp-assessment-group { min-width: 0; margin-top: 12px; }
.rp-assessment-group:first-child { margin-top: 0; }
.rp-assessment-group > h4 { margin: 0 0 4px; font-size: 13px; line-height: 1.5; font-weight: 600; }
.rp-assessment-facts { display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px 28px; margin-top: 12px !important; }
.rp-assessment-facts > div { min-width: 0; }
.rp-assessment-facts dt { color: var(--rp-muted); font-size: 11px; line-height: 1.5; }
.rp-assessment-facts dd { margin-top: 3px; color: var(--rp-text); font-size: 13px; line-height: 1.55; font-weight: 550; font-variant-numeric: tabular-nums; }
/* One index, its prior observation, and the factors behind it. */
.rp-brief .rp-security-index { padding: 20px 24px 17px; }
.rp-document .rp-security-index .rp-index-heading { margin: 0; color: var(--rp-muted); font-size: 12px; line-height: 1.45; font-weight: 600; letter-spacing: 0; }
.rp-document .rp-index-method { margin-top: 3px; max-width: 88ch; color: var(--rp-muted); font-size: 11px; line-height: 1.55; }
.rp-index-top { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 30px; min-width: 0; margin-top: 12px; }
.rp-document .rp-index-value { display: inline-flex; align-items: baseline; gap: 8px; min-width: 0; color: var(--rp-text); font-size: 64px; line-height: 1; font-weight: 500; letter-spacing: -2.5px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rp-document .rp-index-total { color: var(--rp-muted); font-size: 17px; line-height: 1.3; font-weight: 400; letter-spacing: -.2px; white-space: nowrap; }
.rp-index-trend { display: grid; gap: 4px; min-width: 0; padding-top: 3px; }
.rp-document .rp-index-delta { color: var(--rp-text); font-size: 14px; line-height: 1.5; font-weight: 550; font-variant-numeric: tabular-nums; }
.rp-document .rp-index-delta[data-direction="up"] { color: var(--rp-good-text); }
.rp-document .rp-index-delta[data-direction="down"] { color: var(--rp-critical-text); }
.rp-document .rp-index-period { color: var(--rp-muted); font-size: 11px; line-height: 1.5; font-weight: 400; }
.rp-index-scale { max-width: 660px; min-width: 0; margin-top: 23px; padding-inline: 6px; }
.rp-index-track { position: relative; height: 7px; border-radius: 2px; background: var(--rp-line); isolation: isolate; }
.rp-index-track::before, .rp-index-track::after { content: ""; position: absolute; z-index: 0; inset-block: 0; background: var(--rp-panel); }
.rp-index-track::before { inset-inline: 25%; border-inline: 3px solid var(--rp-panel); background: transparent; }
.rp-index-track::after { left: calc(50% - 1.5px); width: 3px; }
.rp-index-marker { position: absolute; z-index: 2; left: clamp(0%, var(--rp-index-position, 0%), 100%); top: -6px; width: 2px; height: 18px; transform: translateX(-50%); background: #F2501F; }
.rp-index-marker::before { content: ""; position: absolute; box-sizing: border-box; top: -3px; left: 50%; width: 14px; height: 14px; transform: translateX(-50%); border: 2px solid var(--rp-panel); border-radius: 50%; background: #F2501F; }
.rp-index-marker.is-previous { z-index: 1; top: 7px; width: 1px; height: 13px; border-left: 0; background: repeating-linear-gradient(to bottom, var(--rp-muted) 0 2px, transparent 2px 4px); }
.rp-index-marker.is-previous::before { top: auto; bottom: -3px; width: 10px; height: 10px; border: 1.5px solid var(--rp-muted); background: var(--rp-panel); }
.rp-index-scale-labels { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 2px 16px; min-width: 0; margin-top: 18px; color: var(--rp-muted); font-size: 10px; line-height: 1.5; font-variant-numeric: tabular-nums; }
.rp-document .rp-index-factors { display: grid; gap: 6px; min-width: 0; max-width: 660px; margin-top: 14px; }
.rp-index-factor { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 6px 24px; min-width: 0; }
.rp-index-factor dt { color: var(--rp-muted); font-size: 11px; line-height: 1.5; }
.rp-index-factor dd { color: var(--rp-text); font-size: 11px; line-height: 1.5; font-weight: 500; text-align: right; font-variant-numeric: tabular-nums; }
.rp-index-details { min-width: 0; margin-top: 12px; padding-top: 8px; border-top: 1px solid var(--rp-line); }
.rp-index-details > summary { display: flex; align-items: baseline; gap: 7px; width: fit-content; max-width: 100%; min-height: 24px; padding: 2px 0; color: var(--rp-muted); font-size: 11px; line-height: 1.5; list-style: none; cursor: pointer; }
.rp-index-details > summary::-webkit-details-marker { display: none; }
.rp-index-details > summary:hover { color: var(--rp-text); text-decoration: underline; text-underline-offset: 3px; }
.rp-index-details > summary:focus-visible { border-radius: 2px; }
.rp-index-details > summary::after { content: ""; width: 5px; height: 5px; flex-shrink: 0; align-self: center; margin: -2px 2px 0 0; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg); }
.rp-index-details[open] > summary::after { margin-top: 3px; transform: rotate(225deg); }
.rp-index-details[open] > summary { margin-bottom: 7px; }
.rp-document .rp-index-details .rp-index-factors { margin-top: 8px; }
.rp-document .rp-index-details :is(p, li, caption) { color: var(--rp-muted); font-size: 11px; line-height: 1.55; }
.rp-index-details :is(ul, ol) { margin: 6px 0; padding-left: 18px; }
.rp-index-details table { width: 100%; min-width: 0; margin-top: 7px; border-collapse: collapse; table-layout: fixed; text-align: left; font-size: 11px; line-height: 1.5; }
.rp-index-details :is(th, td) { padding: 5px 8px; border-bottom: 1px solid var(--rp-line); vertical-align: top; overflow-wrap: anywhere; }
.rp-index-details th { color: var(--rp-muted); font-weight: 500; }
.rp-index-details td { color: var(--rp-text); }
.rp-index-details :is(th, td):first-child { padding-left: 0; }
.rp-index-details :is(th, td):last-child { padding-right: 0; }
.rp-index-details tr:last-child :is(th, td) { border-bottom: 0; }
/* The CEO brief compares business outcomes in one reading column. */
.rp-document[data-report-type="security"] .rp-executive .rp-assessment-copy { max-width: 82ch; }
.rp-document[data-report-type="security"] .rp-ceo-summary .rp-assessment-lead { max-width: 68ch; }
.rp-document[data-report-type="security"] .rp-ceo-comparison .rp-comparison {
  width: 100%; min-width: 0; margin: 3px 0 0; border-collapse: collapse;
  table-layout: fixed; color: var(--rp-text); font-size: 13px; line-height: 1.5;
}
.rp-document[data-report-type="security"] .rp-comparison :is(th, td) { padding: 11px 12px; border-bottom: 1px solid var(--rp-line); vertical-align: middle; overflow-wrap: anywhere; }
.rp-document[data-report-type="security"] .rp-comparison thead th { width: 24%; padding-top: 0; padding-bottom: 9px; color: var(--rp-muted); font-size: 11px; line-height: 1.5; font-weight: 500; text-align: center; vertical-align: bottom; }
.rp-document[data-report-type="security"] .rp-comparison thead th:first-child { width: 52%; padding-left: 0; text-align: left; }
.rp-document[data-report-type="security"] .rp-comparison tbody th { padding-left: 0; text-align: left; font-weight: 500; }
.rp-document[data-report-type="security"] .rp-comparison td { text-align: center; font-size: 16px; line-height: 1.4; font-weight: 500; font-variant-numeric: tabular-nums; }
.rp-document[data-report-type="security"] .rp-comparison :is(th, td):last-child { padding-right: 0; font-weight: 600; }
.rp-document[data-report-type="security"] .rp-comparison tbody tr:last-child :is(th, td) { border-bottom: 0; }
.rp-document[data-report-type="security"] .rp-comparison :is(th, td) > :is(span, small) { display: block; }
.rp-document[data-report-type="security"] .rp-comparison th small { color: var(--rp-muted); font-size: inherit; font-weight: 400; }
.rp-document[data-report-type="security"] .rp-ceo-comparison > .rp-assessment-copy { margin-top: 10px; }
.rp-document[data-report-type="security"] .rp-ceo-comparison > :is(.rp-ceo-note, .rp-record-meta) { display: block; margin-top: 7px; color: var(--rp-muted); font-size: 12px; line-height: 1.6; }
.rp-document[data-report-type="security"] .rp-business-effects { list-style: none; padding: 0; margin: 0; }
.rp-document[data-report-type="security"] .rp-business-effects > li { min-width: 0; max-width: 82ch; color: var(--rp-text); font-size: 13px; line-height: 1.6; }
.rp-document[data-report-type="security"] .rp-business-effects > li + li { margin-top: 11px; }
.rp-document[data-report-type="security"] .rp-business-effects > li > :is(h4, strong) { display: block; margin: 0 0 3px; color: var(--rp-text); font-size: 13px; line-height: 1.5; font-weight: 600; }
.rp-document[data-report-type="security"] .rp-business-effects > li > p { margin: 0; }
.rp-document[data-report-type="security"] :is(.rp-ceo-result, .rp-ceo-attention, .rp-ceo-people) .rp-assessment-copy { max-width: 82ch; }
@media screen {
  :root[data-theme="dark"] :is(#reports-workspace, body.rp-export) {
    --rp-text: var(--theme-text, #EDF1EE); --rp-muted: var(--theme-muted, #B0BBB5);
    --rp-panel: var(--theme-panel, #1A2023); --rp-raised: var(--theme-raised, #222A2E);
    --rp-line: var(--theme-border, #394449); --rp-bg: var(--theme-bg, #111619);
    --rp-link: var(--theme-blue, #91B4FF); --rp-focus: #91B4FF;
    --rp-critical-bg: #482A2D; --rp-critical-text: #FFB1A9;
    --rp-high-bg: #463623; --rp-high-text: #F8C58D;
    --rp-medium-bg: #3D3923; --rp-medium-text: #E8D58E;
    --rp-good-bg: #193D31; --rp-good-text: #95E2B9;
  }
}
@container rp-report (max-width: 899px) {
  .rp-priority-grid { grid-template-columns: minmax(0, 1fr); }
}
@container rp-report (max-width: 560px) {
  .rp-verification-details > summary { padding-inline: 16px; }
  .rp-document-header, .rp-section { padding: 17px 16px; }
  .rp-brief .rp-assessment-section { padding: 16px; }
  .rp-brief .rp-assessment-section > h3 { font-size: 15px; }
  .rp-brief .rp-security-index { padding: 18px 16px 16px; }
  .rp-document .rp-security-index .rp-index-heading { font-size: 12px; }
  .rp-index-top { gap: 12px 24px; margin-top: 12px; }
  .rp-document .rp-index-value { font-size: 54px; letter-spacing: -2px; }
  .rp-document .rp-index-total { font-size: 15px; }
  .rp-index-trend { flex: 1 1 132px; padding-top: 0; }
  .rp-document .rp-index-delta { font-size: 12px; }
  .rp-index-scale { margin-top: 22px; }
  .rp-index-factor { gap: 4px 16px; }
  .rp-index-details :is(th, td) { padding: 5px 5px; font-size: 10px; }
  .rp-document[data-report-type="security"] .rp-assessment-lead { font-size: 16px; line-height: 1.55; letter-spacing: -.15px; }
  .rp-document[data-report-type="security"] .rp-comparison :is(th, td) { padding: 10px 7px; }
  .rp-document[data-report-type="security"] .rp-comparison thead th { width: 25%; font-size: 11px; }
  .rp-document[data-report-type="security"] .rp-comparison thead th:first-child { width: 50%; padding-left: 0; }
  .rp-document[data-report-type="security"] .rp-comparison tbody th { padding-left: 0; font-size: 12px; line-height: 1.5; }
  .rp-document[data-report-type="security"] .rp-comparison td { font-size: 15px; }
  .rp-document[data-report-type="security"] .rp-comparison :is(th, td):last-child { padding-right: 0; }
  .rp-assessment-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 22px; }
  .rp-document-title { font-size: 21px; }
  .rp-results > div { grid-template-columns: minmax(0, 1fr); gap: 5px; }
  .rp-ciso-summary { gap: 8px 20px; }
  .rp-ciso-summary + p, .rp-ciso-summary-note { padding: 0; }
  .rp-priority-grid { padding: 0 16px 17px; gap: 12px; }
  .rp-campaign-metrics { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .rp-campaign-metrics > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 12px; }
  .rp-campaign-metrics dd { text-align: right; }
  .rp-document-footer { padding: 12px 16px; }
  .rp-finding > summary { gap: 8px; padding: 11px 12px; flex-wrap: wrap; }
  .rp-finding > summary .rp-validation { order: 4; margin-left: 0; }
  .rp-finding-title { flex-basis: calc(100% - 95px); }
  .rp-finding-body { padding: 12px; }
  .rp-finding-facts, .rp-keyvalues { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .rp-table th, .rp-table td { padding: 8px 6px; font-size: 11px; }
}
/* Campaigns keep readable labels when the document is narrow. */
@media screen {
  @container rp-report (max-width: 560px) {
    .rp-human-table { display: block; position: relative; table-layout: auto; }
    .rp-human-table thead { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
    .rp-human-table tbody { display: block; min-width: 0; }
    .rp-human-table tbody > tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; min-width: 0; padding: 14px 0; border-bottom: 1px solid var(--rp-line); }
    .rp-human-table tbody > tr:first-child { padding-top: 0; }
    .rp-human-table tbody > tr:last-child { padding-bottom: 0; border-bottom: 0; }
    .rp-human-table td { display: block; min-width: 0; padding: 0; border: 0; color: var(--rp-text); font-size: 13px; line-height: 1.55; }
    .rp-human-table td:first-child { grid-column: 1 / -1; padding-bottom: 1px; }
    .rp-human-table td:first-child strong { display: block; font-size: 13px; line-height: 1.5; }
    .rp-human-table td:first-child small { display: block; margin-top: 4px; padding: 0; color: var(--rp-muted); font-size: 11px; line-height: 1.6; }
    .rp-human-table td:not(:first-child)::before { display: block; margin-bottom: 2px; color: var(--rp-muted); font-size: 11px; font-weight: 400; line-height: 1.5; }
    .rp-human-table td:nth-child(2)::before { content: "Получили"; }
    .rp-human-table td:nth-child(3)::before { content: "Перешли"; }
    .rp-human-table td:nth-child(4)::before { content: "Сообщили"; }
    .rp-human-table td:nth-child(5)::before { content: "Форма"; }
    .rp-human-table td:nth-child(6)::before { content: "Обучение"; }
    html[lang="en"] .rp-human-table td:nth-child(2)::before { content: "Received"; }
    html[lang="en"] .rp-human-table td:nth-child(3)::before { content: "Clicked"; }
    html[lang="en"] .rp-human-table td:nth-child(4)::before { content: "Reported"; }
    html[lang="en"] .rp-human-table td:nth-child(5)::before { content: "Data entered"; }
    html[lang="en"] .rp-human-table td:nth-child(6)::before { content: "Training"; }
    .rp-human-table td:not(:first-child) small { display: inline; margin: 0 0 0 5px; color: var(--rp-muted); font-size: 11px; white-space: nowrap; }
  }
}
@supports not (container-type: inline-size) {
  @media (max-width: 1100px) { .rp-priority-grid { grid-template-columns: minmax(0, 1fr); } }
  @media (max-width: 600px) {
    .rp-brief .rp-assessment-section { padding: 16px; }
    .rp-brief .rp-security-index { padding: 18px 16px 16px; }
    .rp-index-top { gap: 12px 24px; }
    .rp-document .rp-index-value { font-size: 54px; letter-spacing: -2px; }
    .rp-document .rp-index-total { font-size: 15px; }
    .rp-index-trend { flex: 1 1 132px; padding-top: 0; }
    .rp-document .rp-index-delta { font-size: 12px; }
    .rp-document[data-report-type="security"] .rp-assessment-lead { font-size: 16px; }
    .rp-document[data-report-type="security"] .rp-comparison :is(th, td) { padding: 10px 7px; }
    .rp-document[data-report-type="security"] .rp-comparison thead th { width: 25%; font-size: 11px; }
    .rp-document[data-report-type="security"] .rp-comparison thead th:first-child { width: 50%; padding-left: 0; }
    .rp-document[data-report-type="security"] .rp-comparison tbody th { padding-left: 0; font-size: 12px; line-height: 1.5; }
    .rp-document[data-report-type="security"] .rp-comparison td { font-size: 15px; }
    .rp-document[data-report-type="security"] .rp-comparison :is(th, td):last-child { padding-right: 0; }
  }
}
@media (max-width: 760px) {
  body.rp-export { padding: 14px; }
  .rp-toolbar { align-items: stretch; gap: 12px; }
  .rp-filters { flex-basis: 100%; gap: 8px; }
  .rp-filters label { flex: 1 1 120px; min-width: 0; }
  .rp-filters select { min-height: 40px; font-size: 12px; }
  .rp-export-actions { margin-left: 0; width: 100%; }
  #reports-workspace .rp-export-actions > .btn, .rp-export-menu > summary { min-height: 40px; }
  .rp-export-menu > :not(summary) { right: auto; left: 0; }
  .rp-record-heading { flex-wrap: wrap; }
  .rp-record-heading > :first-child { flex: 1 1 170px; }
  .rp-record { padding: 11px 12px; }
  .rp-section-head { flex-wrap: wrap; gap: 6px; }
}
@page { size: A4; margin: 12mm; }
@media print {
  .rp-verification-details > summary { padding: 8pt 0; min-height: 0; font-size: 10pt; break-after: avoid; }
  .rp-verification-details > summary::before { display: none; }
  :root { color-scheme: light !important; }
  html:has(#reports-workspace), html:has(body.rp-export), body.rp-export,
  body:has(#reports-workspace), body:has(#reports-workspace) :is(#app, .app-main, .content, #reports-workspace, .rp-document) {
    background: #FFFFFF !important; min-height: 0 !important; height: auto !important; max-height: none !important;
  }
  :is(#reports-workspace, body.rp-export) {
    --rp-text: #202722; --rp-muted: #58615B; --rp-panel: #FFFFFF;
    --rp-raised: #F5F6F2; --rp-line: #C9D0C6; --rp-bg: #FFFFFF; --rp-link: #224FBE;
    --rp-critical-bg: #FBECEA; --rp-critical-text: #A43A32;
    --rp-high-bg: #FCF0E2; --rp-high-text: #98501E;
    --rp-medium-bg: #F6F2DC; --rp-medium-text: #75611A;
    --rp-good-bg: #EAF3EC; --rp-good-text: #256A48;
    font: 10pt/1.45 Arial, sans-serif; color: var(--rp-text); background: #FFFFFF;
  }
  body.rp-export { padding: 0; margin: 0; }
  body:has(#reports-workspace) :is(.sidebar, .topbar, .footer, .sidebar-scrim, #toast, .modal-overlay, .sidebar-hover-zone) { display: none !important; }
  body:has(#reports-workspace) .app-main { margin: 0 !important; }
  body:has(#reports-workspace) .content { padding: 0 !important; max-width: none !important; }
  #reports-workspace > .page-head, .rp-toolbar, .rp-document-footer, .rp-record-links { display: none !important; }
  .rp-document { max-width: none; border: 0; border-radius: 0; box-shadow: none; container-type: normal; }
  .rp-document-header { padding: 0 0 12pt; }
  .rp-document-title { font-size: 19pt; letter-spacing: -.25pt; }
  .rp-document-brand { font-size: 10pt; margin-bottom: 6pt; }
  .rp-document-meta { font-size: 8pt; gap: 3pt 12pt; }
  .rp-section { padding: 12pt 0; }
  .rp-section-head :is(h2, h3), .rp-section > :is(h2, h3) { font-size: 12pt; }
  .rp-document .rp-ceo-lead { font-size: 11pt; line-height: 1.5; }
  .rp-document p, .rp-results dd, .rp-record-effect, .rp-people-summary { font-size: 9.5pt; }
  .rp-document[data-report-type="security"],
  body.rp-export .rp-document[data-report-type="security"] { max-width: none; }
  .rp-brief .rp-assessment-section { padding: 9pt 0; break-inside: avoid; }
  .rp-brief .rp-assessment-section > h3 { margin-bottom: 5pt; font-size: 11pt; line-height: 1.4; break-after: avoid; }
  .rp-document[data-report-type="security"] .rp-assessment-section > h3 { font-size: 9pt; }
  .rp-brief .rp-assessment-lead { max-width: none; font-size: 10pt; line-height: 1.5; }
  .rp-document[data-report-type="security"] .rp-assessment-lead { max-width: none; font-size: 11.5pt; line-height: 1.45; letter-spacing: -.1pt; }
  .rp-brief .rp-assessment-copy { max-width: none; font-size: 9.5pt; line-height: 1.5; orphans: 3; widows: 3; }
  .rp-assessment-links { margin-top: 4pt; gap: 3pt 12pt; }
  .rp-assessment-links .rp-source-link { min-height: 0; color: var(--rp-muted); font-size: 8pt; }
  .rp-assessment-group { margin-top: 8pt; break-inside: avoid; }
  .rp-assessment-group > h4 { margin-bottom: 3pt; font-size: 9.5pt; break-after: avoid; }
  .rp-assessment-facts { gap: 8pt 18pt; margin-top: 8pt !important; }
  .rp-assessment-facts dt { font-size: 8pt; }
  .rp-assessment-facts dd { margin-top: 2pt; font-size: 9.5pt; }
  .rp-brief .rp-security-index { padding: 9pt 0; break-inside: avoid; }
  .rp-document .rp-security-index .rp-index-heading { margin-bottom: 0; font-size: 9pt; line-height: 1.4; }
  .rp-document .rp-index-method { margin-top: 2pt; font-size: 8pt; line-height: 1.4; }
  .rp-index-top { margin-top: 6pt; gap: 8pt 20pt; }
  .rp-document .rp-index-value { font-size: 38pt; line-height: 1; letter-spacing: -1.4pt; }
  .rp-document .rp-index-total { font-size: 11pt; letter-spacing: 0; }
  .rp-index-trend { gap: 2pt; padding-top: 0; }
  .rp-document .rp-index-delta { font-size: 9pt; line-height: 1.4; }
  .rp-document .rp-index-period { font-size: 8pt; line-height: 1.4; }
  .rp-index-scale { max-width: 460pt; margin-top: 14pt; padding-inline: 4pt; }
  .rp-index-track { height: 5pt; }
  .rp-index-marker { top: -4pt; height: 12pt; }
  .rp-index-marker.is-previous { top: 5pt; height: 9pt; }
  .rp-index-scale-labels { margin-top: 12pt; font-size: 7.5pt; line-height: 1.4; }
  .rp-document .rp-index-factors { max-width: 460pt; gap: 3pt; margin-top: 7pt; }
  .rp-index-factor { gap: 3pt 16pt; }
  .rp-index-factor :is(dt, dd) { font-size: 8pt; line-height: 1.4; }
  /* The printable brief keeps the visible scope; the full method stays in HTML/JSON. */
  .rp-index-details { display: none !important; }
  .rp-index-track, .rp-index-marker, .rp-index-marker::before { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .rp-ciso-summary { padding: 0; }
  .rp-ciso-summary + p, .rp-ciso-summary-note { margin-top: 6pt; padding: 0; font-size: 9pt; }
  .rp-priority-grid { grid-template-columns: minmax(0, 1fr); padding: 0 0 12pt; gap: 12pt; }
  .rp-queue { overflow: visible; }
  .rp-record, .rp-results > div, .rp-waiting-list > li, .rp-campaign-summary, .rp-finding-facts > div { break-inside: avoid; }
  .rp-record, .rp-queue > :is(h2, h3), .rp-queue > .rp-section-head { padding: 8pt 10pt; }
  .rp-record-heading :is(h3, h4) { font-size: 10pt; }
  .rp-document :is(.badge, .rp-severity), .rp-validation { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .rp-document-footer { padding: 10pt 0 0; font-size: 8pt; }
  .rp-finding { break-inside: auto; }
  .rp-finding > summary { break-after: avoid; }
  .rp-finding-body pre, pre.rp-proof { overflow: visible; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 8pt; break-inside: auto; }
  .rp-table { font-size: 9pt; }
  .rp-table tr { break-inside: avoid; }
  .rp-source-link, .rp-text-link { font-size: 9pt; }
  .rp-campaign-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10pt; }
  .rp-campaign-metrics > div { display: block; }
  .rp-campaign-metrics dd { text-align: left; }
  .rp-document[data-report-type="security"] .rp-assessment-section { padding: 9pt 0; }
  .rp-document[data-report-type="security"] .rp-assessment-section > h3 { font-size: 10pt; }
  .rp-document[data-report-type="security"] .rp-executive :is(.rp-assessment-copy, .rp-ceo-note, .rp-record-meta),
  .rp-document[data-report-type="security"] .rp-business-effects > li,
  .rp-document[data-report-type="security"] .rp-business-effects > li > :is(h4, strong, p) { max-width: none; font-size: 10pt; line-height: 1.45; }
  .rp-document[data-report-type="security"] .rp-ceo-summary .rp-assessment-lead { max-width: none; font-size: 12pt; line-height: 1.45; }
  .rp-document[data-report-type="security"] .rp-comparison { margin-top: 2pt; font-size: 10pt; }
  .rp-document[data-report-type="security"] .rp-comparison :is(th, td) { padding: 6pt 8pt; }
  .rp-document[data-report-type="security"] .rp-comparison thead th { padding-top: 0; padding-bottom: 6pt; font-size: 10pt; }
  .rp-document[data-report-type="security"] .rp-comparison tbody th { padding-left: 0; font-size: 10pt; }
  .rp-document[data-report-type="security"] .rp-comparison thead th:first-child { padding-left: 0; }
  .rp-document[data-report-type="security"] .rp-comparison td { font-size: 11pt; }
  .rp-document[data-report-type="security"] .rp-comparison :is(th, td):last-child { padding-right: 0; }
  .rp-document[data-report-type="security"] .rp-comparison tr,
  .rp-document[data-report-type="security"] .rp-business-effects > li { break-inside: avoid; }
  .rp-document[data-report-type="security"] .rp-business-effects > li + li { margin-top: 7pt; }
  .rp-document[data-report-type="security"] .rp-ceo-comparison > .rp-assessment-copy { margin-top: 7pt; }
  .rp-document[data-report-type="security"] .rp-ceo-comparison > :is(.rp-ceo-note, .rp-record-meta) { margin-top: 5pt; }
  a { text-decoration: none; }
}
