/* New Channel: white reading surfaces, ink-blue structure, restrained gold accents. */
:root {
  --xhd-navy: #142f53;
  --xhd-gold: #c6a24c;
  --xhd-gold-text: #82641e;
  --xhd-soft: #f2f5f9;
  --xhd-line: #dce2ea;
  --xhd-text: #344152;
  --xhd-muted: #667181;
  --xhd-disabled-bg: #e7ebef;
  --xhd-disabled-text: #596575;
  --xhd-heading-font: "Hiragino Sans GB", "PingFang SC", "Microsoft YaHei", sans-serif;
  --xhd-body-font: "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  --xhd-latin-font: "Avenir Next", "Helvetica Neue", Arial, sans-serif;
}
.report-brand-banner {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  background: var(--xhd-navy); color: white; padding: 28px 32px;
  font-family: var(--xhd-body-font);
}
.report-brand-banner > div { display: grid; gap: 5px; }
.report-brand-banner strong { font-family: var(--xhd-heading-font); font-size: 24px; font-weight: 800; line-height: 1.5; }
.report-brand-banner span { color: #e2c981; font-size: 13px; }
.report-brand-banner small { color: #e2e8f1; font-size: 12px; overflow-wrap: anywhere; }
.report-brand-identity { min-width: 0; }
.report-brand-motto { flex-shrink: 0; text-align: right; line-height: 1.6; }
.report-brand-motto em { font: italic 14px/1.6 var(--xhd-latin-font); color: #e2e8f1; }
.report-brand-motto b { font-family: var(--xhd-heading-font); font-size: 18px; font-weight: 700; color: white; }
:is(.report, .print-report) {
  --ink: var(--xhd-navy); --text: var(--xhd-text); --muted: var(--xhd-muted);
  --teal: var(--xhd-navy); --teal-dark: var(--xhd-navy); --line: var(--xhd-line);
  --surface-soft: var(--xhd-soft); --surface-muted: var(--xhd-soft);
  font-family: var(--xhd-body-font); font-variant-numeric: tabular-nums;
}
@media screen {
  body.refined-ui {
    --canvas: #f5f6f8; --ink: #142f53; --text: #344152; --muted: #667181;
    --teal: #142f53; --teal-dark: #0c2342; --primary-soft: #edf2f8;
    --analysis: #345987; --analysis-soft: #f0f4f9; --line: #dce2ea;
    --green: #142f53; --green-light: #edf2f8;
    --display-font: "PingFang SC", "Microsoft YaHei", sans-serif;
    --data-font: "Avenir Next", "Helvetica Neue", Arial, sans-serif;
    background: var(--canvas); color: var(--xhd-text);
  }
  .refined-ui .topbar { border-top: 4px solid var(--xhd-navy); border-bottom: 1px solid var(--line); }
  .refined-ui .brand { gap: 12px; }
  .refined-ui .brand strong { font-size: 21px; color: var(--xhd-navy); line-height: 1.45; }
  .refined-ui .brand-service-label { display: block; color: var(--xhd-gold-text); font-size: 11px; font-weight: 500; }
  .refined-ui .brand-home { min-width: 0; min-height: 48px; max-width: 100%; padding: 0; border: 0; border-radius: 4px; background: transparent; box-shadow: none; text-align: left; font: inherit; cursor: pointer; }
  .refined-ui .brand-home .brand-emblem { display: block; flex: 0 0 66px; width: 66px; height: 44px; object-fit: contain; }
  .refined-ui .brand-home .brand-wordmark { display: grid; gap: 4px; margin: 0; min-width: 0; }
  .refined-ui .brand-home strong { font: 650 21px/1.25 var(--xhd-heading-font); white-space: nowrap; }
  .refined-ui .brand-home .brand-caption { display: flex; align-items: center; gap: 10px; margin: 0; line-height: 1.4; }
  .refined-ui .brand-home .brand-service-label { font: 500 11px/1.4 var(--xhd-body-font); white-space: nowrap; }
  .refined-ui .brand-home .brand-domain { display: block; margin: 0; padding-left: 10px; border-left: 1px solid var(--xhd-line); color: var(--xhd-muted); font: 500 10px/1.2 var(--xhd-latin-font); white-space: nowrap; }
  .refined-ui .brand-home:hover strong { color: #345987; }
  .refined-ui .brand-home:focus-visible { outline: 2px solid var(--xhd-navy); outline-offset: 5px; }
  @media (max-width: 600px) {
    .refined-ui .brand-home { gap: 10px; }
    .refined-ui .brand-home .brand-emblem { flex-basis: 60px; width: 60px; height: 40px; }
    .refined-ui .brand-home strong { font-size: 20px; }
  }
  @media (max-width: 359px) {
    .refined-ui .brand-home .brand-emblem { flex-basis: 54px; width: 54px; height: 36px; }
    .refined-ui .brand-home strong { font-size: 18px; }
  }
  .refined-ui .nav button.active::after { background: var(--xhd-gold); }
  .refined-ui .login-panel { border-top: 3px solid var(--xhd-gold); box-shadow: 0 16px 48px #142f5309; }
  .refined-ui .login-page { background: #f5f6f8; }
  /* The auth brand is a single composition, without the legacy sun and badge layers. */
  .refined-ui .login-page--brand { grid-template-columns: minmax(0, 1fr) minmax(0, 440px); gap: 64px; padding: 56px max(28px, calc((100% - 1080px) / 2)); }
  .refined-ui .login-page--brand::before,
  .refined-ui .login-page--brand::after,
  .refined-ui .login-page--brand .login-brand::after { content: none; display: none; }
  .refined-ui .login-page--brand .login-brand { display: grid; gap: 24px; min-width: 0; }
  .refined-ui .login-brand-identity::before { content: ""; display: block; width: 40px; height: 3px; margin-bottom: 20px; background: var(--xhd-gold); }
  .refined-ui .login-brand h1 { color: var(--xhd-navy); font: 750 34px/1.45 var(--xhd-heading-font); overflow-wrap: anywhere; }
  .refined-ui .login-brand-identity .brand-service-label { margin-top: 8px; color: var(--xhd-muted); font-size: 14px; }
  .refined-ui .login-brand-art { display: block; width: 264px; max-width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; }
  .refined-ui .login-brand-motto { display: grid; gap: 8px; min-width: 0; border-left: 2px solid var(--xhd-gold); padding-left: 18px; }
  .refined-ui .login-brand-motto strong { color: var(--xhd-navy); font: 650 28px/1.5 var(--xhd-heading-font); }
  .refined-ui .login-brand-motto em { color: var(--xhd-muted); font: italic 16px/1.6 var(--xhd-latin-font); }
  .refined-ui .login-page--brand .login-panel { min-width: 0; padding: 32px; border-color: var(--xhd-line); border-top-color: var(--xhd-gold); border-radius: 8px; background: white; backdrop-filter: none; }
  .refined-ui .login-page--brand .auth-form .btn.secondary { color: white; background: var(--xhd-navy); border-color: var(--xhd-navy); }
  @media (max-width: 860px) {
    .refined-ui .login-page--brand { grid-template-columns: minmax(0, 1fr); gap: 28px; min-height: 100svh; align-content: center; padding: 32px 24px; }
    .refined-ui .login-page--brand .login-brand { width: 100%; max-width: 440px; margin-inline: auto; grid-template-columns: 96px minmax(0, 1fr); gap: 20px 16px; align-items: center; }
    .refined-ui .login-brand-identity { grid-column: 1 / -1; }
    .refined-ui .login-brand-identity::before { width: 32px; margin-bottom: 14px; }
    .refined-ui .login-page--brand .login-brand h1 { font-size: 28px; }
    .refined-ui .login-brand-art { width: 96px; }
    .refined-ui .login-brand-motto { border: 0; padding: 0; gap: 3px; }
    .refined-ui .login-brand-motto strong { font-size: 20px; }
    .refined-ui .login-brand-motto em { font-size: 12px; }
    .refined-ui .login-page--brand .login-panel { width: 100%; max-width: 440px; margin-inline: auto; padding: 24px; }
  }
  @media (max-width: 359px) {
    .refined-ui .login-page--brand { padding: 24px 16px; }
    .refined-ui .login-page--brand .login-brand { grid-template-columns: 72px minmax(0, 1fr); gap: 16px 12px; }
    .refined-ui .login-page--brand .login-brand h1 { font-size: 26px; }
    .refined-ui .login-brand-art { width: 72px; }
    .refined-ui .login-brand-motto strong { font-size: 18px; }
  }
  .refined-ui .route-choice { border-top-color: var(--xhd-gold); min-height: 350px; }
  .refined-ui .route-choice-title { color: var(--xhd-navy); font-weight: 650; }
  .refined-ui .route-choice--us_undergrad { --route-accent: var(--xhd-gold-text); }
  .refined-ui .route-welcome h1 { font-size: 32px; }
  .refined-ui .route-bottom-strip { color: var(--muted); }
  .refined-ui .screen-header h1, .refined-ui .screen-header h2,
  .refined-ui .form-section h3, .refined-ui .report-card h3,
  .refined-ui .detail-card h3 { color: var(--xhd-navy); }
  .refined-ui .question-workspace .question-stage { border-top: 3px solid var(--xhd-gold); padding: 32px 36px; }
  .refined-ui .question-module-copy h1 { font-size: 23px; }
  .refined-ui .question-module-pill, .refined-ui .question-track-us .question-module-pill {
    background: transparent; color: var(--xhd-gold-text); padding: 0; font-size: 12px;
  }
  .refined-ui .question-copy h2 { font-size: 26px; line-height: 1.65; font-weight: 650; }
  .refined-ui .question-copy p, .refined-ui .question-track-panel p { color: var(--muted); }
  .refined-ui .scale-grid { gap: 0; }
  .refined-ui .scale-button { min-height: 64px; margin: 0; }
  .refined-ui .scale-button.selected, .refined-ui .question-track-us .scale-button.selected {
    background: #edf2f8; border-color: var(--xhd-line); box-shadow: inset 3px 0 0 var(--xhd-gold);
  }
  .refined-ui .question-progress { height: 5px; border-radius: 0; }
  .refined-ui .question-track-panel { align-self: start; }
  /* Both routes share answer-state colors; route names and artwork distinguish them. */
  .refined-ui .question-workspace {
    --analysis: var(--xhd-navy); --teal: var(--xhd-navy); --teal-dark: var(--xhd-navy);
    --primary-soft: var(--xhd-soft); --surface-muted: var(--xhd-soft);
    color: var(--xhd-text); font-family: var(--xhd-body-font);
  }
  .refined-ui .question-workspace .question-progress { background: var(--xhd-line); }
  .refined-ui .question-workspace .question-progress > span { background: var(--xhd-navy); }
  .refined-ui .question-workspace :is(.question-copy > span, .question-track-panel .eyebrow, .question-track-chips span) { color: var(--xhd-navy); }
  .refined-ui .question-workspace :is(.question-count strong, .question-progress-row strong) { color: var(--xhd-navy); }
  .refined-ui .question-workspace :is(.question-screen-header h1, .question-copy h2, .question-track-panel h3) { color: var(--xhd-navy); font-family: var(--xhd-heading-font); }
  .refined-ui .question-workspace .scale-button { background: white; border-color: var(--xhd-line); color: var(--xhd-navy); }
  .refined-ui .question-workspace .scale-button b { color: var(--xhd-muted); background: var(--xhd-soft); }
  .refined-ui .question-workspace .scale-button:hover { background: var(--xhd-soft); border-color: var(--xhd-navy); box-shadow: none; }
  .refined-ui .question-workspace .scale-button.selected { background: var(--xhd-soft); border-color: var(--xhd-line); box-shadow: inset 3px 0 0 var(--xhd-gold); }
  .refined-ui .question-workspace .scale-button.selected b { background: var(--xhd-navy); color: white; }
  .refined-ui .question-workspace .scale-button.selected span { color: var(--xhd-navy); }
  .refined-ui .question-workspace .scale-button:focus-visible { outline: 3px solid var(--xhd-navy); outline-offset: 3px; }
  .refined-ui .question-workspace .question-actions .btn.primary:not(:disabled) { background: var(--xhd-navy); border-color: var(--xhd-navy); color: white; box-shadow: none; }
  .refined-ui .question-workspace .question-actions .btn.primary:hover:not(:disabled) { background: #0c2342; border-color: #0c2342; }
  .refined-ui .question-workspace .question-actions :is(.btn.secondary, .btn.ghost):not(:disabled) { background: white; border-color: var(--xhd-line); color: var(--xhd-navy); }
  .refined-ui .question-workspace .question-actions :is(.btn.secondary, .btn.ghost):hover:not(:disabled) { background: var(--xhd-soft); }
  .refined-ui .question-workspace .question-actions .btn:disabled { background: var(--xhd-disabled-bg); color: var(--xhd-disabled-text); border-color: var(--xhd-disabled-bg); opacity: 1; box-shadow: none; }
  .refined-ui .question-workspace .question-tip { color: var(--xhd-muted); border-color: var(--xhd-line); }
  .refined-ui .question-workspace .question-tip .small-icon { color: var(--xhd-gold-text); }
  .refined-ui .compact-progress .module-rail::before { background: var(--xhd-line); }
  .refined-ui .compact-progress .module-card { background: transparent; border-color: transparent; box-shadow: none; }
  .refined-ui .compact-progress .module-card:is(:hover, .next, .active) { background: var(--xhd-soft); border-color: var(--xhd-line); }
  .refined-ui .compact-progress .module-card.active { box-shadow: inset 3px 0 0 var(--xhd-gold); }
  .refined-ui .compact-progress .module-index { background: white; border-color: var(--xhd-line); color: var(--xhd-muted); box-shadow: none; }
  .refined-ui .compact-progress .module-index::after { border: 0; }
  .refined-ui .compact-progress .module-card:is(.active, .done) .module-index { background: var(--xhd-navy); border-color: var(--xhd-navy); color: white; box-shadow: none; }
  .refined-ui .compact-progress .module-card.next .module-index { background: var(--xhd-soft); color: var(--xhd-navy); border-color: var(--xhd-line); }
  .refined-ui .compact-progress .module-state { color: var(--xhd-muted); }
  .refined-ui .compact-progress .module-card:is(.active, .next, .done) .module-state { color: var(--xhd-navy); }
  .refined-ui .background-form .checkbox-option:has(input:checked) { border-color: var(--xhd-navy); background: var(--xhd-soft); }
  .refined-ui .progress-card, .refined-ui .score-card, .refined-ui .consult-card { background: #fff; border-color: var(--line); }
  /* Preview panels use the same ink and gold as the assessment and report. */
  .refined-ui .right-panel .letter { background: var(--xhd-soft); color: var(--xhd-muted); border: 1px solid var(--xhd-line); box-shadow: none; }
  .refined-ui .right-panel .letter.active { background: var(--xhd-navy); color: white; border-color: var(--xhd-navy); }
  .refined-ui .right-panel .bar-track { background: var(--xhd-soft); }
  .refined-ui .right-panel .bar-track > span { background: var(--xhd-navy); }
  .refined-ui .consult-card::before { background: var(--xhd-gold); height: 2px; }
  .refined-ui .consult-card::after { content: none; display: none; }
  .refined-ui .consult-person { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; border-color: var(--xhd-line); }
  .refined-ui .consult-person .person { width: 100%; min-width: 0; align-items: center; }
  .refined-ui .consult-person .advisor-avatar { width: 34px; height: 34px; background: var(--xhd-navy); color: #e2c981; border: 0; box-shadow: none; }
  .refined-ui .consult-person .advisor-avatar .small-icon { color: inherit; }
  .refined-ui .consult-person .advisor-copy { min-width: 0; }
  .refined-ui .consult-person .advisor-copy strong { white-space: nowrap; color: var(--xhd-navy); font-size: 13px; }
  .refined-ui .consult-person .advisor-copy > span { color: var(--xhd-muted); font-size: 11px; line-height: 1.6; }
  .refined-ui .consult-person .btn { width: 100%; min-height: 40px; background: white; color: var(--xhd-navy); border-color: var(--xhd-line); box-shadow: none; }
  .refined-ui .consult-person .btn:hover { background: var(--xhd-soft); border-color: var(--xhd-navy); }
  .refined-ui .step.active { background: var(--primary-soft); border-color: var(--line); }
  .refined-ui .background-form > .screen-header { border-bottom: 2px solid var(--xhd-gold); }
  .refined-ui .form-section h3::before { content: ""; display: inline-block; width: 5px; height: 17px; background: var(--xhd-gold); margin-right: 10px; vertical-align: -1px; }
  .refined-ui .form-grid label > span { color: var(--xhd-text); }
  .refined-ui input, .refined-ui select, .refined-ui textarea { accent-color: var(--xhd-navy); }
  .refined-ui .layout:has(.report) { max-width: 1360px; width: 100%; grid-template-columns: 280px minmax(0, 1fr); grid-template-rows: min-content 1fr; }
  .refined-ui .layout:has(.report) > :is(.left-panel, .right-panel) { min-width: 0; padding: 0; border: 0; background: transparent; align-self: start; }
  .refined-ui .layout:has(.report) > .right-panel { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .refined-ui .layout:has(.report) > .right-panel > section { min-width: 0; margin: 0; padding: 20px; }
  .refined-ui .right-panel .bar-item { grid-template-columns: 24px minmax(0, 1fr) 30px; gap: 6px 8px; }
  .refined-ui .right-panel .bar-item > .bar-track { grid-column: 1 / -1; grid-row: 2; width: 100%; height: 6px; }
  .refined-ui .right-panel .bar-item > span:last-child { grid-column: 3; grid-row: 1; text-align: right; font-variant-numeric: tabular-nums; }
  .refined-ui .right-panel .axis-item { grid-template-columns: 72px minmax(0, 1fr); gap: 12px; }
  .refined-ui .right-panel .axis-toggle { grid-template-columns: repeat(2, minmax(40px, 1fr)); gap: 8px; }
  .refined-ui .right-panel .letter { min-height: 36px; border-radius: 4px; }
  .refined-ui .workspace:has(> .report) { border: 0; border-radius: 0; padding: 0 36px 36px; }
  .refined-ui .workspace:has(> .report) > .report-brand-banner { margin: 0 -36px 28px; }
  .refined-ui .workspace:has(> .report) > .screen-header { background: white; color: var(--text); margin: 0; padding: 0 0 24px; border-bottom: 1px solid var(--line); }
  .refined-ui .workspace:has(> .report) > .screen-header h1 { color: var(--xhd-navy); font-size: 28px; }
  .refined-ui .workspace:has(> .report) > .screen-header h1::before { content: ""; display: block; width: 48px; height: 3px; background: var(--xhd-gold); margin-bottom: 14px; }
  .refined-ui .workspace:has(> .report) > .screen-header p { color: var(--muted); }
  .refined-ui .workspace:has(> .report) > .screen-header .btn { color: var(--xhd-navy); border-color: var(--xhd-line); background: white; }
  .refined-ui .workspace:has(> .report) > .screen-header .btn:hover:not(:disabled) { color: white; background: var(--xhd-navy); }
  .refined-ui .workspace:has(> .report) > .screen-header [data-report-save-status] { color: var(--muted); }
  .refined-ui .workspace:has(> .report) .report-save-state:not(.error) { background: var(--xhd-soft); color: var(--xhd-navy); }
  .refined-ui .workspace:has(> .report) .report-save-state.saving { color: var(--xhd-gold-text); }
  .refined-ui .strategy-card { border-left: 3px solid var(--xhd-gold); background: #f2f5f9; }
  .refined-ui .strategy-card span, .refined-ui .strategy-card > strong { color: var(--xhd-navy); }
  .refined-ui .strategy-card h2 { font-size: 22px; }
  .refined-ui .big-result strong { color: var(--xhd-navy); font-size: 40px; font-weight: 650; }
  .refined-ui .tag-cloud span { background: #f0f3f7; color: #456080; border-radius: 3px; }
  .refined-ui .report-disclosure { border-bottom-color: var(--line); }
  .refined-ui .report-section-stack { counter-reset: report-chapter; }
  .refined-ui .report-section-stack > .report-disclosure { counter-increment: report-chapter; }
  .refined-ui .report-section-stack > .report-disclosure > summary strong::before {
    content: counter(report-chapter); display: inline-grid; place-items: center; width: 28px; height: 28px;
    margin-right: 10px; background: var(--xhd-navy); color: #fff; border-radius: 4px; font-size: 15px; vertical-align: 1px;
  }
  .refined-ui .report-disclosure > summary strong { color: var(--xhd-navy); }
  .refined-ui .report-disclosure > summary small { color: var(--muted); }
  .refined-ui .report-disclosure > summary b { color: var(--xhd-navy); background: #edf2f8; }
  .refined-ui .report-card p, .refined-ui .detail-card p, .refined-ui .result-list li { color: var(--xhd-text); }
  .refined-ui .report-reading-tools, .refined-ui .report > .report-grid { border-color: var(--line); }
  .refined-ui .report-reading-tools label, .refined-ui .report-reading-tools select, .refined-ui .reading-icon-button { color: var(--xhd-text); }
  .refined-ui .report-reading-tools select, .refined-ui .reading-icon-button { border-color: var(--line); }
  .refined-ui .reading-icon-button:hover { background: var(--xhd-soft); }
  .refined-ui .bar-fill, .refined-ui .score-bar span, .refined-ui .category-bar span { background: var(--xhd-navy); }
  /* Detailed report modules used their own legacy colors instead of the app tokens. */
  .refined-ui .report :is(h1, h2, h3, h4) { font-family: var(--xhd-heading-font); font-weight: 700; color: var(--xhd-navy); }
  .refined-ui .workspace:has(> .report) > .screen-header h1 { font-family: var(--xhd-heading-font); font-weight: 800; }
  .refined-ui .report :is(.detail-card, .report-card, .match-card, .week-plan-card, .priority-action-card, .growth-guidance-card, .logic-audit-card) { border-color: var(--xhd-line); }
  .refined-ui .report :is(.weight-grid > span, .logic-layer-grid > span, .subdirection-stack div, .category-mini,
    .resource-card, .resource-task, .commonwealth-prereq-grid section, .adjacent-major-grid section, .adjacent-school-examples) {
    background: var(--xhd-soft); border-color: var(--xhd-line); box-shadow: none;
  }
  .refined-ui .report :is(.commonwealth-warning-box, .commonwealth-source-box, .match-card.has-warning) {
    background: var(--xhd-soft); border-color: var(--xhd-line); border-left: 3px solid var(--xhd-gold);
  }
  .refined-ui .report :is(.commonwealth-warning-box, .commonwealth-source-box) :is(span, small) { color: var(--xhd-text); }
  .refined-ui .report :is(.commonwealth-warning-box b, .commonwealth-source-box b, .adjacent-major-grid span) { color: var(--xhd-gold-text); }
  .refined-ui .report .growth-guidance-card {
    --growth-accent: var(--xhd-navy); --growth-ink: var(--xhd-navy); --growth-bg: var(--xhd-soft);
    border-top: 2px solid var(--xhd-gold);
  }
  .refined-ui .report :is(.mini-track, .bar-track) { background: var(--xhd-line); }
  .refined-ui .report :is(.mini-track, .bar-track) > span { background: var(--xhd-navy); }
  .refined-ui .report .compact-tags span.ready { color: var(--xhd-navy); background: var(--xhd-soft); }
  .refined-ui .report .compact-tags span.weak { color: var(--xhd-gold-text); background: var(--xhd-soft); }
  .refined-ui .report .reflection-form :is(select, textarea) { color: var(--xhd-text); background: white; border-color: var(--xhd-line); }
  @media (max-width: 1180px) {
    .refined-ui .layout:has(.report) { display: flex; flex-direction: column; gap: 24px; }
    .refined-ui .layout:has(.report) > :is(.workspace, .left-panel, .right-panel) { width: 100%; }
    .refined-ui .layout:has(.report) > .workspace { order: -1; }
    .refined-ui .layout:has(.report) > .right-panel { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); align-items: start; }
  }
  @media (max-width: 767px) {
    .refined-ui .brand strong { font-size: 18px; }
    .refined-ui .brand-service-label { font-size: 10px; }
    .refined-ui .route-welcome h1 { font-size: 27px; }
    .refined-ui .question-workspace .question-stage { padding: 22px 18px; }
    .refined-ui .question-copy h2 { font-size: 22px; }
    .refined-ui .workspace:has(> .report) { padding: 0 18px 24px; }
    .refined-ui .workspace:has(> .report) > .report-brand-banner { margin: 0 -18px 22px; }
    .report-brand-banner { padding: 22px 18px; flex-wrap: wrap; gap: 12px; }
    .report-brand-banner strong { font-size: 22px; }
    .report-brand-banner small { text-align: left; }
    .report-brand-motto { flex-shrink: 1; text-align: left; }
    .report-brand-motto em { font-size: 12px; }
    .report-brand-motto b { font-size: 16px; }
    .refined-ui .workspace:has(> .report) > .screen-header h1 { font-size: 24px; }
  }
}
@media print {
  .print-report { font-family: var(--xhd-body-font); color: var(--xhd-text); }
  /* Long student content must flow onto another sheet instead of being clipped. */
  .pdf-page { height: auto; min-height: 297mm; overflow: visible; padding: 12mm 16mm 17mm; background: white; }
  .pdf-page::before { display: none; }
  .pdf-page > .report-brand-banner { margin: -12mm -16mm 6mm; padding: 7mm 16mm; }
  .report-brand-banner strong { font-size: 15pt; }
  .report-brand-banner span, .report-brand-banner small { font-size: 7pt; }
  .report-brand-motto em { font-size: 8pt; }
  .report-brand-motto b { font-size: 10pt; }
  .pdf-page-header { border-bottom: 0.3mm solid var(--xhd-line); margin-bottom: 5mm; padding-bottom: 3mm; }
  .pdf-page-header span { background: var(--xhd-navy); color: white; border-radius: 1mm; padding: 2mm; font-size: 15pt; }
  .pdf-page-header strong, .pdf-section h2 { color: var(--xhd-navy); }
  .pdf-page-header b { color: var(--xhd-gold-text); }
  .pdf-section { border: 0; border-top: 0.5mm solid var(--xhd-gold); padding: 3mm 0; background: white; }
  .pdf-profile-grid .pdf-section { padding: 3mm; background: #f5f7fa; }
  .pdf-code-row span, .pdf-axis-row span, .pdf-priority-list article, .pdf-resource-list article {
    background: #f4f6f9; border-color: var(--xhd-line); color: var(--xhd-text);
  }
  .pdf-code-row b, .pdf-axis-row b, .pdf-resource-list b, .pdf-priority-list b,
  .pdf-footer strong { color: var(--xhd-navy); }
  .pdf-footer { position: static; margin-top: 6mm; border-color: var(--xhd-line); color: #667181; break-inside: avoid; gap: 4mm; }
  .pdf-footer strong { white-space: nowrap; }
  .pdf-cover { padding: 16mm 18mm; background: white; }
  .pdf-cover > .report-brand-banner { margin: -16mm -18mm 0; padding: 10mm 18mm; }
  .pdf-cover-top { background: var(--xhd-navy); color: white; margin: -16mm -18mm 0; padding: 12mm 18mm; font-size: 20pt; letter-spacing: 0; }
  .pdf-cover-top b { color: #e2c981; letter-spacing: 0; }
  .pdf-cover-main > p:first-child, .pdf-cover-main h1, .pdf-cover-results,
  .consultant-cover-main h1, .consultant-cover-main p { color: var(--xhd-navy); }
  .pdf-cover-main h1 { font-size: 29pt; line-height: 1.5; }
  .pdf-cover-line { background: var(--xhd-gold); }
  .pdf-score-bar span { background: var(--xhd-navy); }
  .pdf-page-header, .report-brand-banner { break-inside: avoid; break-after: avoid; }
  .pdf-cover-pillars span { border: 0; border-top: 0.5mm solid var(--xhd-gold); background: #f2f5f9; color: var(--xhd-navy); }
  .pdf-cover-info { border-color: var(--xhd-line); }
  .consultant-pdf-cover { background: white; grid-template-rows: auto auto 1fr auto auto auto; padding: 12mm 16mm 17mm; }
  .consultant-cover-label { background: var(--xhd-soft); color: var(--xhd-navy); border-left: 0.6mm solid var(--xhd-gold); }
  .print-report .pdf-page :is(h1, h2, h3, h4, strong, b) { color: var(--xhd-navy); font-family: var(--xhd-heading-font); }
  .print-report .pdf-page :is(p, li) { color: var(--xhd-text); }
  .print-report .pdf-page :is(.pdf-mbti span, .pdf-tier, .pdf-cross, .pdf-cover-main h2, .pdf-cover-info span,
    .pdf-top-five span, .pdf-major-grid p, .pdf-week-grid span, .pdf-resource-list span, .pdf-priority-list span,
    .consultant-cover-main span, .consultant-cover-main h2, .consultant-cover-grid span, .consultant-signal-grid small,
    .consultant-axis-grid small, .consultant-category-list span, .consultant-reflection-grid span, .consultant-pdf-footer span) { color: var(--xhd-muted); }
  .print-report :is(.pdf-formula-grid span, .pdf-top-five section, .pdf-major-grid section, .pdf-growth-grid article,
    .pdf-week-grid article, .pdf-steps span, .consultant-cover-grid div, .consultant-signal-grid span,
    .consultant-axis-grid span, .consultant-category-list section, .consultant-component-row small,
    .consultant-reflection-grid div, .consultant-cover-note, .consultant-caution-box) {
    background: var(--xhd-soft); color: var(--xhd-text); border-color: var(--xhd-line);
  }
  .print-report .pdf-growth-grid article { --growth-accent: var(--xhd-navy); border-top-color: var(--xhd-gold); }
  .print-report .pdf-score-bar { background: var(--xhd-line); }
  .print-report :is(.pdf-tier, .consultant-checklist li) { border-color: var(--xhd-line); }
  .print-report :is(.consultant-cover-note, .consultant-caution-box) { border-left-color: var(--xhd-gold); }
  .print-report .consultant-note-area { background: repeating-linear-gradient(white, white 8mm, var(--xhd-line) 8.3mm); }
  .print-report :is(.pdf-highlight, .consultant-highlight, .pdf-steps b) { background: var(--xhd-navy); color: white; }
  .print-report .pdf-highlight :is(strong, b, p), .print-report .pdf-steps b,
  .print-report .report-brand-banner :is(strong, b) { color: white; }
  .print-report .pdf-page-header span { color: white; }
  .print-report, .print-report * { letter-spacing: 0; }
}
