:root{
  --results-bg:#f4f8fd;
  --card:#fff;
  --line:#dce6f2;
  --muted:#607187;
  --ink:#15324d;
}
.results-page{
  background:
    radial-gradient(circle at 9% 10%,rgba(24,184,198,.08),transparent 24rem),
    radial-gradient(circle at 94% 31%,rgba(123,63,198,.07),transparent 28rem),
    var(--results-bg);
}
.results-back{display:grid;place-items:center;width:48px;height:48px;padding:0;border-right:1px solid rgba(255,255,255,.25)}
.results-back svg{width:27px;fill:none;stroke:white;stroke-width:2.3}
.results-main{width:min(1460px,calc(100% - 38px));margin:22px auto 42px}
.state-card,.results-card,.overview-card,.results-hero,.safeguard-banner,.stage-boundary{
  border:1px solid var(--line);border-radius:22px;background:white;box-shadow:0 16px 40px rgba(11,48,72,.08)
}
.state-card{max-width:760px;margin:80px auto;padding:40px}

.view-switch{display:flex;align-self:center;padding:4px;border:1px solid rgba(255,255,255,.32);border-radius:12px;background:rgba(255,255,255,.08)}
.view-switch-button{min-height:36px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:rgba(255,255,255,.75);font-weight:760;cursor:pointer}
.view-switch-button.is-active{background:white;color:#0b4fa6}
body[data-view-mode="student"] .facilitator-only{display:none!important}

.results-hero{
  display:grid;grid-template-columns:1fr 390px;gap:32px;align-items:center;padding:34px;color:white;
  background:linear-gradient(125deg,#0b3048,#073d9c 56%,#1268de)
}
.results-hero h1{margin:7px 0 8px;font-size:clamp(2rem,3.4vw,3.5rem);line-height:1.06;letter-spacing:-.04em}
.results-hero p{margin:0;max-width:850px;color:rgba(255,255,255,.8)}
.course-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.course-meta span{padding:7px 10px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.08);font-size:.78rem}
.hero-score-cluster{display:flex;align-items:center;justify-content:flex-end;gap:20px}
.radial-score{
  --score:0;width:170px;height:170px;min-width:170px;border-radius:50%;display:grid;place-items:center;
  background:conic-gradient(#7fe6ee calc(var(--score)*1%),rgba(255,255,255,.18) 0);
  position:relative
}
.radial-score::after{content:"";position:absolute;inset:12px;border-radius:50%;background:linear-gradient(135deg,#0b4fa6,#0b3048)}
.radial-score>div{position:relative;z-index:1;text-align:center}
.radial-score strong{display:block;font-size:2.8rem;line-height:1}
.radial-score span{display:block;margin-top:5px;font-size:.72rem;color:rgba(255,255,255,.75)}
.hero-score-copy{max-width:165px}
.hero-score-copy b{display:block;color:#8cecf2;font-size:1.08rem}
.hero-score-copy p{margin-top:7px;font-size:.75rem}

.safeguard-banner{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:18px 0;padding:17px 20px;background:#f0f8ff}
.safeguard-banner strong{color:#0b4fa6}.safeguard-banner p{display:inline;margin-left:7px;color:#5d6d83;font-size:.87rem}
.sensitive-toggle{white-space:nowrap;border:1px solid #bed3e8;border-radius:10px;padding:9px 12px;background:white;color:#0b4fa6;font-weight:760;cursor:pointer}
.sensitive-toggle[aria-pressed="true"]{color:white;background:#0b4fa6}

.results-section-nav{
  position:sticky;top:104px;z-index:8;display:flex;gap:7px;overflow:auto;margin-bottom:20px;padding:9px;
  border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.95);box-shadow:0 9px 24px rgba(11,48,72,.08)
}
.results-section-nav a{white-space:nowrap;padding:8px 11px;border-radius:9px;color:#53677e;font-size:.78rem;font-weight:760}
.results-section-nav a:hover{background:#edf5fc;color:#0b4fa6}

.overview-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr .85fr;gap:14px}
.overview-card{padding:21px;min-height:250px}
.overview-card h2{margin:4px 0 14px;font-size:1.15rem}
.at-a-glance-items{display:grid;gap:9px}
.glance-item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:11px 12px;border-radius:12px;background:#f7fafc}
.glance-item span{color:#607187;font-size:.8rem}.glance-item strong{font-size:.9rem;color:#1d4265}
.glance-status{display:inline-flex;align-items:center;gap:6px}
.glance-status::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--status-colour,#287fc1)}
.summary-list{display:grid;gap:8px}
.summary-item{padding:10px 11px;border-left:4px solid var(--item-colour,#287fc1);border-radius:10px;background:#f8fbfd}
.summary-item strong{display:block;font-size:.82rem}.summary-item p{margin:3px 0 0;color:#64758a;font-size:.75rem}
.summary-empty{padding:13px;border:1px dashed #cad7e4;border-radius:11px;color:#758498;font-size:.78rem}

.results-section{margin-top:26px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:0 0 14px}
.section-heading.compact{margin:0 0 16px}
.section-intro{margin:5px 0 0;color:#68798d;font-size:.86rem}

.visual-domain-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}
.visual-domain-card{padding:18px;border:1px solid var(--line);border-top:5px solid var(--domain-colour);border-radius:17px;background:white;box-shadow:0 10px 24px rgba(11,48,72,.06)}
.visual-domain-card h3{margin:4px 0 13px;font-size:1rem}
.visual-domain-top{display:flex;justify-content:space-between;gap:9px;align-items:baseline}
.visual-domain-top strong{color:var(--domain-colour);font-size:1.8rem}.visual-domain-top span{color:#6b7c90;font-size:.72rem}
.score-bar{height:10px;margin-top:12px;border-radius:999px;background:#e8eef5;overflow:hidden}
.score-bar span{display:block;height:100%;border-radius:inherit;background:var(--domain-colour);width:var(--bar-value)}
.visual-domain-card p{margin:11px 0 0;color:#617287;font-size:.77rem}
.visual-domain-card.unscored .score-bar{background:repeating-linear-gradient(90deg,#edf2f6 0 8px,#dce5ed 8px 12px)}
.visual-domain-card.unscored .score-bar span{display:none}

.results-card{padding:24px}
.academic-score-card,.study-profile-card{margin-top:20px}
.academic-score-card{border-top:5px solid #287fc1}
.academic-overall,.study-overall{text-align:right}
.academic-overall strong,.study-overall strong{display:block;color:#0b4fa6;font-size:2rem}
.study-overall strong{color:#7b3fc6}.academic-overall span,.study-overall span{color:#68798d;font-size:.72rem}
.academic-score-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.academic-score-item{padding:17px;border:1px solid var(--line);border-radius:15px;background:#fbfdff}
.academic-score-item-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.academic-score-item h3{margin:0}
.academic-status{padding:5px 8px;border-radius:999px;font-size:.68rem;font-weight:850}
.academic-status.meets{color:#2d7429;background:#eaf7e7}.academic-status.close{color:#8a6500;background:#fff4d1}
.academic-status.preparation{color:#a15a13;background:#fff0df}.academic-status.priority{color:#a13e34;background:#ffebe8}
.academic-status.not-entered{color:#5e6d80;background:#eef2f7}
.academic-values{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.academic-values div{padding:9px;border-radius:10px;background:white;border:1px solid #e2eaf3}
.academic-values span{display:block;color:#7a899b;font-size:.66rem;text-transform:uppercase;letter-spacing:.05em}
.academic-values strong{display:block;margin-top:2px;color:#244764;font-size:1.15rem}
.academic-score-item p{margin:12px 0 0;color:#607187;font-size:.8rem}
.academic-comparison-bar{height:9px;margin-top:11px;border-radius:999px;background:#e8eef5;overflow:hidden}
.academic-comparison-bar span{display:block;height:100%;background:#287fc1;width:var(--bar-value)}
.academic-variant-message{margin-top:12px;padding:11px 13px;border-radius:11px;background:#eef6ff;color:#42617e;font-size:.78rem}
.academic-selection-note{margin:12px 0 0;color:#6d7d90;font-size:.76rem}

.study-domain-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.study-domain{padding:14px;border:1px solid #e2d9ef;border-top:4px solid #7b3fc6;border-radius:13px}
.study-domain strong{display:block;color:#7b3fc6;font-size:1.55rem}.study-domain span{display:block;font-size:.76rem}
.study-domain .score-bar{margin-top:9px}.study-domain .score-bar span{background:#7b3fc6}
.study-actions{margin-top:15px;padding-top:14px;border-top:1px solid #e3ebf4}
.study-actions h3{margin:0 0 8px}
.study-action{padding:10px 12px;margin-top:7px;border-radius:11px;background:#f6f0fc}
.study-action strong{display:block}.study-action p{margin:3px 0 0;color:#65758b;font-size:.8rem}
.study-selection-note{margin-top:12px;color:#68798d;font-size:.78rem}

.advice-section{margin-top:26px}
.advice-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.advice-group{padding:20px}.advice-group-heading{padding-bottom:14px;margin-bottom:13px;border-bottom:1px solid #e2eaf3}
.advice-group-heading span{display:block;color:#287fc1;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.09em}
.advice-group-heading h3{margin:3px 0 0;font-size:1.08rem}
.immediate-group{border-top:5px solid #18b8c6}.medium-group{border-top:5px solid #8a3ffc}.support-group{border-top:5px solid #62bf35}
.advice-list{display:grid;gap:11px}.advice-card{padding:14px;border:1px solid #dfe8f2;border-radius:14px;background:#fbfdff}
.advice-card-top{display:flex;justify-content:space-between;gap:8px;align-items:center}
.priority-pill,.time-pill{display:inline-block;padding:4px 7px;border-radius:999px;font-size:.66rem;font-weight:800}
.priority-pill.immediate{color:#08717c;background:#dff8fa}.priority-pill.near-term{color:#6740a6;background:#f0e8ff}.priority-pill.consider{color:#75621e;background:#fff5cf}
.time-pill{color:#51667d;background:#edf2f7;white-space:nowrap}
.advice-card h4{margin:10px 0 5px;font-size:.96rem;line-height:1.25}.advice-reason{margin:0;color:#5d6d83;font-size:.79rem}
.advice-card details{margin-top:10px}.advice-card summary{color:#287fc1;font-size:.76rem;font-weight:800;cursor:pointer}
.advice-card ol,.advice-card ul{margin:8px 0 0;padding-left:20px;color:#516278;font-size:.76rem}.advice-card li{margin:5px 0}
.advice-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:11px;padding-top:9px;border-top:1px dashed #d8e2ed}
.advice-meta span{padding:3px 6px;border-radius:6px;background:#eef4f9;color:#69798d;font-size:.61rem}
.empty-advice{padding:18px;border:1px dashed #cdd9e6;border-radius:12px;color:#69798d;font-size:.8rem;text-align:center}

.support-results-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}
.support-report-card{border-top:5px solid var(--support-colour)}.health-card{--support-colour:#159d91}.access-card{--support-colour:#e97820}
.finding-count{padding:5px 8px;border-radius:999px;background:#eef3f7;color:#5f7186;font-size:.72rem;font-weight:780}
.support-finding{padding:12px;margin-top:9px;border-radius:12px;background:#f7fafc;border-left:5px solid #9aa9b8}
.support-finding.support{border-left-color:#e3a12b;background:#fff9e9}.support-finding.priority{border-left-color:#d75a4a;background:#fff0ed}
.support-finding strong{display:block}.support-finding p{margin:4px 0 0;color:#607187;font-size:.8rem}.support-finding small{display:block;margin-top:6px;color:#78879a}
body:not(.show-sensitive) .support-finding .sensitive-detail{display:none}
.no-findings{padding:16px;border-radius:12px;background:#eef8ed;color:#3f7136}

.technical-section{margin-top:22px}
.technical-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.technical-summary-grid div{padding:13px;border:1px solid var(--line);border-radius:12px;background:#f8fbfd}
.technical-summary-grid span{display:block;color:#748398;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}
.technical-summary-grid strong{display:block;margin-top:3px;color:#204766;font-size:.9rem}
.technical-details{margin-top:10px;border:1px solid var(--line);border-radius:13px;background:#fbfdff}
.technical-details summary{padding:13px 15px;color:#214a6f;font-weight:800;cursor:pointer}
.technical-details>div{padding:0 15px 15px}
.question-table-wrap{overflow:auto}.question-results-table{width:100%;border-collapse:collapse;min-width:900px}
.question-results-table th{padding:11px;text-align:left;color:#65758b;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;border-bottom:2px solid #dce6f2}
.question-results-table td{padding:12px 11px;vertical-align:top;border-bottom:1px solid #e3ebf4;font-size:.82rem}
.result-pill{display:inline-block;padding:5px 8px;border-radius:999px;font-size:.7rem;font-weight:800}
.result-pill.aligned{color:#277522;background:#eaf7e7}.result-pill.partial{color:#8c6500;background:#fff5d8}.result-pill.gap{color:#a13e34;background:#ffebe8}
.result-pill.evidence,.result-pill.context,.result-pill.unavailable{color:#525f75;background:#eef2f7}
.prerequisite-item{padding:11px 0;border-bottom:1px solid #e3ebf4}.prerequisite-item:last-child{border-bottom:0}
.prerequisite-item strong{display:block;color:#1e3f60;font-size:.82rem}.prerequisite-item p{margin:4px 0 0;color:#5d6d83;font-size:.84rem}
.assumptions-used{display:grid;gap:8px}.assumption-item{padding:11px;border-radius:11px;background:#f5f8fb}.assumption-item strong{display:block}.assumption-item p{margin:3px 0 0;color:#64758a;font-size:.78rem}

.stage-boundary{margin-top:22px;padding:25px;background:linear-gradient(120deg,#eef7ff,#f5f2ff)}
.stage-boundary p{margin-bottom:0;color:#5d6d83}

@media(max-width:1200px){
  .overview-grid{grid-template-columns:1fr 1fr}.visual-domain-grid{grid-template-columns:repeat(3,1fr)}
  .study-domain-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:980px){
  .results-hero{grid-template-columns:1fr}.hero-score-cluster{justify-content:flex-start}
  .view-switch{position:absolute;left:18px;right:120px;bottom:-46px;justify-content:center;background:#0b4fa6}
  .results-main{margin-top:62px}.advice-groups{grid-template-columns:1fr 1fr}.support-group{grid-column:1/-1}
  .technical-summary-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .results-main{width:min(100% - 24px,1460px)}.overview-grid,.support-results-grid,.academic-score-grid{grid-template-columns:1fr}
  .visual-domain-grid,.study-domain-grid{grid-template-columns:1fr 1fr}.advice-groups{grid-template-columns:1fr}.support-group{grid-column:auto}
  .safeguard-banner{align-items:flex-start;flex-direction:column}.results-section-nav{top:84px}
}
@media(max-width:520px){
  .visual-domain-grid,.study-domain-grid,.technical-summary-grid{grid-template-columns:1fr}
  .results-hero,.results-card,.overview-card{padding:20px}.hero-score-cluster{align-items:flex-start;flex-direction:column}
  .academic-values{grid-template-columns:1fr}.view-switch{right:105px}
}
