/* Portal 0.22.104: Academy presentation only; no shell or data ownership. */
body.academy-parity-mounted[data-swiso-academy-view]:not([data-swiso-academy-view="overview"])
  #pageContent > :is(.sw264-first-paint,.sw246-banner,.v296-route-overview-banner) {
  display:none !important;
}

:root {
  --academy-surface:#fff;
  --academy-border:#d6e2e8;
  --academy-accent:#087b84;
  --academy-text:#1c3543;
  --academy-soft:#f0f6f7;
}
body.academy-embedded #content {max-width:1440px;margin:0 auto;padding:24px 30px 56px;color:var(--academy-text)}
body.academy-embedded #content > .academy-safe-heading {margin:0 0 12px}
body.academy-embedded #content > .academy-boundary-note {max-width:90ch;margin:0 0 20px}
.academy-safe-panel.academy-module {background:transparent;box-shadow:none;padding:0;min-height:0}
.academy-module > h2 {font-size:1.45rem;margin:0 0 8px}
.academy-module > .academy-boundary-note {margin:0 0 22px;padding:0;border:0;color:#526a77}
.academy-record-grid,.academy-course-grid {
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:16px;align-items:start;
}
.academy-record,.academy-course-card,.academy-editor,.academy-exam,.academy-safe-card > .academy-record {
  background:var(--academy-surface);border:1px solid var(--academy-border);
  border-radius:14px;box-shadow:0 3px 14px rgba(15,57,70,.06);padding:20px;
}
.academy-record h3,.academy-course-card h3 {font-size:1.12rem;line-height:1.3;margin:0 0 10px}
.academy-record p,.academy-course-card p {margin:8px 0;line-height:1.5;max-width:none}
.academy-course-card {border-top:4px solid var(--academy-accent);display:flex;flex-direction:column;min-height:210px}
.academy-course-card button {align-self:flex-start;margin-top:auto}
.academy-course-card .academy-course-grade {font-weight:700;color:#205263}
.academy-course-history {border-top:1px solid var(--academy-border);padding-top:9px;font-size:.91rem;color:#566d78}
.academy-module button,.academy-exam button,.academy-editor button {
  border:1px solid #357f8e;border-radius:8px;background:#fff;color:#14505f;
  min-height:38px;padding:8px 14px;font:inherit;font-weight:700;cursor:pointer;
}
.academy-module button:hover:not(:disabled),.academy-exam button:hover:not(:disabled) {background:#e9f5f5}
.academy-module button:focus-visible,.academy-exam button:focus-visible,.academy-editor :focus-visible {
  outline:3px solid #e6a62c;outline-offset:2px;
}
.academy-module button:disabled {opacity:.48;cursor:not-allowed}
.academy-editor {margin-top:22px;max-width:900px}
.academy-editor h3 {font-size:1.2rem;margin:0 0 18px}
.academy-editor label {font-weight:600;color:#294b59}
.academy-editor :is(input,textarea,select) {
  border:1px solid #9eb9c4;border-radius:7px;background:#fff;color:#183644;
  min-height:40px;max-width:100%;box-sizing:border-box;
}
.academy-page-nav {
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  margin:20px 0;padding:12px 0;border-top:1px solid var(--academy-border);
}
.academy-page-nav button[aria-current="page"] {background:#176575;color:white}
.academy-page-nav .academy-page-status {margin-right:auto;color:#4d6874}
.academy-exam {max-width:1100px;margin:auto;padding:28px}
.academy-exam-intro {display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}
.academy-exam-progress {width:100%;height:14px;accent-color:var(--academy-accent)}
.academy-question {margin:18px 0 !important;padding:22px !important;background:#fbfdfe;border:1px solid var(--academy-border) !important;border-radius:12px}
.academy-question legend {font-size:1.06rem;max-width:90ch}
.academy-question label {display:flex !important;align-items:flex-start;gap:9px;margin:10px 0 !important;padding:9px;border-radius:7px}
.academy-question label:hover {background:var(--academy-soft)}
.academy-question input {margin-top:3px !important}
.academy-question-nav {display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}
.academy-question-nav button {min-width:38px;padding:6px !important}
.academy-question-nav button.is-answered {background:#e2f3ed;border-color:#218269}
@media(max-width:680px){
  body.academy-embedded #content{padding:16px}
  .academy-record-grid,.academy-course-grid{grid-template-columns:1fr}
  .academy-exam{padding:17px}
}
@media(prefers-reduced-motion:no-preference){
  .academy-record,.academy-course-card{transition:box-shadow .15s ease,transform .15s ease}
  .academy-record:hover,.academy-course-card:hover{box-shadow:0 6px 18px rgba(15,57,70,.12)}
}

/* 0.22.105: one portal scroll surface and responsive full-width Academy content. */
body.academy-parity-mounted #pageContent.academy-parity-host{width:100%;max-width:none;overflow:visible}
body.academy-parity-mounted #pageContent > .academy-parity-frame{display:block;width:100%;max-width:100%;min-height:560px;border:0;overflow:hidden}
body.academy-embedded{overflow:hidden}
body.academy-embedded #app{min-height:0}
body.academy-embedded #content{width:100%!important;max-width:none!important;box-sizing:border-box;padding:28px clamp(20px,3vw,48px) 52px!important}
body.academy-embedded #content > :is(.academy-safe-heading,.academy-boundary-note){max-width:100%}
.academy-safe-panel.academy-module{max-width:none!important;width:100%;box-sizing:border-box}
.academy-safe-card.academy-record-grid,.academy-safe-card.academy-course-grid{width:100%;max-width:none!important;background:transparent!important;box-shadow:none!important;padding:0!important}
.academy-safe-card.academy-record-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))!important;gap:18px!important}
.academy-safe-card.academy-course-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;align-items:stretch}
.academy-record,.academy-course-card,.academy-safe-card .academy-record{background:#fff!important;border-color:#d3e0e4!important;color:#203c49}
.academy-record{border-top:3px solid var(--academy-accent,#087b84)!important}
.academy-record:nth-child(3n+2){border-top-color:#3b80b8!important}
.academy-record:nth-child(3n){border-top-color:#bd9447!important}
.academy-course-card{min-height:235px;display:flex;flex-direction:column}
.academy-course-card .academy-course-grade{margin:12px 0;padding:9px 12px;background:#f0f7f6;border-radius:8px}
.academy-course-card .academy-course-history{line-height:1.45}
.academy-module h2{color:#173b4b}
.academy-exam{max-width:1120px;width:100%;box-sizing:border-box;margin:0 auto;padding:clamp(18px,2.8vw,36px)}
.academy-exam-intro{display:block;padding-bottom:16px;border-bottom:1px solid var(--academy-border)}
.academy-eyebrow{margin:0 0 8px;color:var(--academy-accent,#087b84);font-size:.78rem;font-weight:800;letter-spacing:.08em}
.academy-exam-intro h2{font-size:clamp(1.35rem,2vw,2rem);margin:0 0 9px}
.academy-progress-label{margin:9px 0 17px;color:#45606e}
.academy-question-nav{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:7px;margin:18px 0 24px}
.academy-question-nav button{min-width:0!important;min-height:40px;margin:0!important}
.academy-question-nav button[aria-current="step"]{background:var(--academy-accent,#087b84)!important;color:#fff!important}
.academy-question[hidden]{display:none!important}
.academy-question{margin:0!important;padding:clamp(18px,2.8vw,32px)!important;min-height:260px;background:#fff!important}
.academy-question legend{font-size:1.13rem;font-weight:700;line-height:1.45;padding:0 6px}
.academy-question label{background:#fff;border:1px solid #dce6ea;margin:10px 0!important;padding:14px!important}
.academy-question label:has(input:checked){background:#eaf6f5;border-color:var(--academy-accent,#087b84)}
.academy-exam-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px;border-top:1px solid var(--academy-border);padding-top:18px}
.academy-exam-actions button{margin:0!important}
.academy-question-step{margin-right:auto;color:#284e5b}
.academy-save-status{min-height:1.5em;margin:12px 0 0;color:#31586a}
@media(max-width:1100px){.academy-safe-card.academy-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:660px){body.academy-embedded #content{padding:18px 14px 36px!important}.academy-safe-card.academy-course-grid{grid-template-columns:1fr!important}.academy-question-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.academy-exam-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.academy-question-step{grid-column:1/-1}}
/* Service readiness panels stay honest while matching the Academy card language. */
.academy-safe-panel > .academy-safe-card:not(.academy-record-grid):not(.academy-course-grid){background:#fff!important;color:#203c49!important;border:1px solid var(--academy-border)!important;border-left:4px solid var(--academy-accent,#087b84)!important;border-radius:12px;padding:22px;box-shadow:0 3px 14px rgba(15,57,70,.06)}
.academy-safe-panel > .academy-safe-card .academy-readiness-list{line-height:1.7;max-width:80ch}
/* 0.22.106: staff, tutor and help views. */
body.academy-embedded .academy-editor{margin:22px 0;max-width:none}
body.academy-embedded .academy-editor :is(input,select){width:min(100%,720px);margin:6px 0 16px}
body.academy-embedded .academy-editor label{display:block}
body.academy-embedded .academy-editor button,.academy-record button{margin:8px 8px 8px 0}
body.academy-embedded .academy-module > .academy-record-grid{margin-bottom:22px}
body.academy-embedded .academy-record p{overflow-wrap:anywhere}
body.academy-parity-mounted #pageContent.academy-parity-host{position:relative}
body.academy-parity-mounted .academy-toolbar-help{display:block;margin:12px 28px 0 auto;border:1px solid var(--academy-accent,#087b84);border-radius:8px;background:#fff;color:#15505e;font:600 14px/1.4 inherit;padding:9px 15px;cursor:pointer}
body.academy-parity-mounted .academy-toolbar-help:focus-visible{outline:3px solid #e6a62c;outline-offset:2px}

/* 0.22.107: readable roster, explicit former-staff review and compact forms. */
.academy-former-staff{max-width:none;border-left:4px solid #ad6e23}
.academy-former-staff .academy-record{margin:14px 0;box-shadow:none}
.academy-former-staff .academy-erasure-review{margin-top:14px;padding:14px;background:#fff8eb;border:1px solid #e4bd78;border-radius:9px}
.academy-former-staff .academy-erasure-review label{display:flex;flex-direction:column;gap:6px;margin:10px 0;max-width:620px}
.academy-former-staff .academy-erasure-review button{border-color:#9c3a31;color:#812d26}
.academy-module .academy-record{overflow-wrap:anywhere}
.academy-module .academy-editor>label{display:flex;flex-direction:column;gap:6px;margin:12px 0;max-width:620px}
.academy-module .academy-editor>button{margin-top:8px}

/* 0.22.108: keep privacy reviews readable on wide desktops. */
.academy-former-staff .academy-record{max-width:1080px}
.academy-former-staff .academy-erasure-review{max-width:1000px;line-height:1.55}
.academy-former-staff .academy-erasure-review p{max-width:90ch}
