*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:#071923;color:#f7fbfc}button{font:inherit;cursor:pointer}header{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:#061720;border-bottom:1px solid #234653}.brand{display:flex;align-items:center;color:#fff;text-decoration:none}.brand>span:first-child{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#0c2b3a;border:1px solid #2d5869;color:#2fe0bf;font-weight:900;margin-right:8px}.brand b{font-size:20px}.brand em{font-style:normal;font-size:7px;letter-spacing:.14em;color:#6d8792;border-left:1px solid #294653;margin-left:12px;padding-left:12px}.hide{display:none!important}.view{display:none;min-height:calc(100vh - 68px)}.view.active{display:block}.login{min-height:calc(100vh - 68px);display:grid;grid-template-columns:1.15fr .85fr}.intro{padding:65px 7vw;background:radial-gradient(circle at 20% 20%,#123e4f,#071923 55%)}small{font-size:7px;letter-spacing:.14em;color:#2fe0bf}.intro h1{font-size:58px;line-height:1.02;letter-spacing:-.04em;margin:15px 0}.intro>p,.sub{color:#8fa7b1;line-height:1.55}.intro>p{max-width:650px;font-size:14px}.flow{display:flex;gap:10px;align-items:center;margin:28px 0}.flow b{border:1px solid #2d5664;border-radius:9px;padding:9px 12px;background:#0b2835;font-size:9px}.flow i{font-style:normal;color:#2fe0bf}.preview{display:grid;grid-template-columns:1fr 1fr;gap:10px}.preview>div{border:1px solid #2d5564;border-radius:13px;padding:15px;background:#0a2633}.preview b,.preview span{display:block}.preview b{font-size:11px;margin:7px 0}.preview span{font-size:7px;color:#7d96a1}.loginbox{display:grid;place-items:center;background:#0a2430;padding:35px}.card{width:min(420px,100%);border:1px solid #2e5867;border-radius:20px;background:#0d3040;padding:27px}.card h2{font-size:27px;margin:7px 0}.card>p{font-size:9px;color:#8ea5af}.user{display:flex;align-items:center;gap:11px;border:1px solid #2b5260;border-radius:12px;padding:12px;background:#0a2532;margin:16px 0}.user>div,.mini>div{width:45px;height:45px;border-radius:13px;display:grid;place-items:center;background:#123d4b;border:1px solid #3d6c7b;color:#2fe0bf;font-weight:900}.user b,.user small,.mini b,.mini small{display:block}.user b{font-size:10px}.user small{font-size:7px;color:#748e99}.primary,.secondary{border-radius:9px;padding:10px 12px;font-size:8px;font-weight:900}.primary{border:0;background:linear-gradient(135deg,#2fe0bf,#14b99b);color:#05221b}.secondary{border:1px solid #315563;background:#0a2330;color:#9bb0b9}.card .primary,.card .secondary{width:100%;margin-top:7px}.secondary span{float:right;color:#627d89}#logout{border:1px solid #2a4f5d;background:#0a2330;color:#9db1ba;border-radius:8px;padding:8px 10px;font-size:8px}#dashboard.active{display:grid;grid-template-columns:205px 1fr}aside{background:#081f2a;border-right:1px solid #234653;padding:16px 11px;display:flex;flex-direction:column;min-height:calc(100vh - 68px)}.mini{display:flex;align-items:center;gap:8px}.mini>div{width:36px;height:36px;border-radius:10px}.mini b{font-size:9px}.mini small{font-size:6px;color:#748d98}.mini+nav{display:grid;gap:5px;margin-top:18px}.mini+nav button{border:0;background:transparent;color:#748e99;text-align:left;border-radius:8px;padding:9px;font-size:8px;font-weight:700}.mini+nav button.active{background:#103440;color:#fff}aside footer{margin-top:auto;border-top:1px solid #234653;padding:13px 7px}aside footer b{display:block;font-size:7px;color:#90a7b1;margin-top:5px}.dash{padding:24px 28px;background:linear-gradient(135deg,#071923,#0a2430);overflow:auto;max-height:calc(100vh - 68px)}.dashhead{display:flex;justify-content:space-between;margin-bottom:18px}.dashhead h2{font-size:30px;margin:4px 0}.dashhead p{font-size:9px;color:#829aa5}.level{border:1px solid #2e5867;background:#0d3040;border-radius:12px;padding:11px 14px}.level small,.level b,.level span{display:block}.level b{font-size:15px;color:#2fe0bf;margin:4px 0}.level span{font-size:6px;color:#748e99}.tab{display:none}.tab.active{display:block}.overview{display:grid;grid-template-columns:1.2fr .8fr;gap:12px}.continue,.journey,.insights article,.listcard,.passport,.metrics article,.roles{border:1px solid #2d5564;border-radius:14px;background:#0c2b39;padding:16px}.continue>span{display:block;font-size:7px;color:#2fe0bf;margin-top:12px}.continue h3{font-size:20px;margin:5px 0}.continue p{font-size:8px;color:#839ba5}.progress{height:5px;background:#173b49;border-radius:99px;margin:12px 0}.progress i{display:block;width:34%;height:100%;background:#2fe0bf}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.chips b{font-size:6px;color:#6f8994;border:1px solid #284e5c;border-radius:999px;padding:5px 7px}.journey div{display:grid;grid-template-columns:26px 1fr;gap:6px;align-items:center;margin-top:9px}.journey i{grid-row:1/3;width:25px;height:25px;border:1px solid #2e5361;border-radius:7px;display:grid;place-items:center;font-style:normal;font-size:7px}.journey b{font-size:8px}.journey span{font-size:6px;color:#718b96}.journey .current i{background:#2fe0bf;color:#05221b}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.metrics article b,.metrics article span{display:block}.metrics article b{font-size:20px;margin:6px 0}.metrics article span{font-size:6px;color:#748e99}.insights{display:grid;grid-template-columns:1.2fr .8fr;gap:10px}.insights h3{font-size:17px;margin:5px 0}.insights p{font-size:7px;color:#7b94a0}.insights button{border:0;background:transparent;color:#2fe0bf;padding:0;font-size:7px;font-weight:800}.listcard{display:grid;grid-template-columns:1fr 120px 160px;gap:12px;align-items:center;margin-top:10px}.listcard h3{font-size:17px;margin:5px 0}.listcard p{font-size:7px;color:#78909b}.listcard>b{font-size:9px}.muted{opacity:.5}.passport{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.skills{display:grid;gap:8px}.skills div{display:grid;grid-template-columns:145px 1fr 22px;gap:8px;align-items:center}.skills span{font-size:7px}.skills i{height:5px;background:#173c4b;border-radius:99px}.skills i u{display:block;height:100%;background:linear-gradient(90deg,#1ab89d,#2fe0bf)}.skills b{font-size:7px}.trend strong,.trend span{display:block}.trend strong{font-size:17px;margin-top:12px}.trend span{font-size:7px;color:#728b96}.path{display:flex;gap:7px;align-items:center;overflow:auto;margin:14px 0}.path div{min-width:160px;border:1px solid #294f5d;border-radius:10px;padding:11px;font-size:8px}.path .done,.path .current{border-color:#3d7b70}.path i{font-style:normal;color:#2fe0bf}.roles span{display:inline-block;border:1px solid #315563;border-radius:999px;padding:6px 8px;font-size:7px;margin:7px 5px 0 0}.competency.active{display:block}.compbar{height:60px;display:grid;grid-template-columns:120px 1fr auto;align-items:center;padding:0 17px;background:#081f2a;border-bottom:1px solid #294f5d}.compbar button{border:0;background:transparent;color:#9db1ba;font-size:7px;text-align:left}.compbar small,.compbar b{display:block}.compbar b{font-size:9px}.compbar>span{font-size:6px;color:#748e99}.comp{height:calc(100vh - 128px);display:grid;grid-template-columns:1fr 310px}.xr{position:relative;background:radial-gradient(circle,#1f4d60,#081f2a 66%);overflow:hidden}.grid{position:absolute;left:-20%;right:-20%;bottom:-35%;height:65%;transform:perspective(600px) rotateX(68deg);background-image:linear-gradient(#5790a433 1px,transparent 1px),linear-gradient(90deg,#5790a433 1px,transparent 1px);background-size:34px 34px}.xr svg{position:absolute;left:10%;top:12%;width:80%}.lab{position:absolute;border:1px solid #456d7c;background:#061b27cc;border-radius:7px;padding:6px 8px;font-size:7px}.lab.a{left:22%;top:29%}.lab.b{right:25%;top:26%}.modes{position:absolute;left:15px;bottom:14px;border:1px solid #315363;border-radius:9px;padding:3px;background:#071c27cc}.modes button{border:0;background:transparent;color:#6f8c98;font-size:7px;padding:6px 8px}.modes .active{background:#164153;color:#fff;border-radius:6px}.instruction{background:#f8fbfc;color:#102833;padding:24px 18px}.instruction h2{font-size:25px;line-height:1.1}.instruction p{font-size:9px;color:#607783}.answer{width:100%;text-align:left;border:1px solid #d7e2e6;border-radius:8px;background:#fff;padding:9px;margin:5px 0;font-size:8px}.answer.active{border-color:#25cbae;background:#e8faf7}.instruction .primary,.instruction .secondary{width:100%;margin-top:7px}.feedback{margin-top:10px;border:1px solid #25cbae;background:#e8faf7;border-radius:9px;padding:9px}.feedback b,.feedback span{display:block}.feedback b{font-size:8px}.feedback span{font-size:7px;color:#4c6a70}.toast{position:fixed;right:16px;bottom:16px;border:1px solid #377065;border-radius:9px;background:#08242cfa;padding:9px 11px;transform:translateY(90px);opacity:0;transition:.3s}.toast.show{transform:none;opacity:1}.toast b,.toast span{display:block}.toast b{font-size:7px;color:#2fe0bf}.toast span{font-size:6px;color:#8da5af}@media(max-width:850px){.brand em{display:none}.login{grid-template-columns:1fr}.loginbox{padding:25px}.intro{padding:45px 25px}.intro h1{font-size:40px}#dashboard.active{grid-template-columns:1fr}#dashboard aside{display:none}.dash{max-height:none}.overview,.insights,.passport{grid-template-columns:1fr}.metrics{grid-template-columns:1fr 1fr}.listcard{grid-template-columns:1fr}.comp{grid-template-columns:1fr}.instruction{display:none}}
/* P2.3 readability + vertical slice */
.dash p,.continue p,.insights p,.listcard p,.sub{font-size:10px;line-height:1.55}
.continue>span,.chips b,.journey span,.metrics article span,.roles span{font-size:8px}
.metrics article small,.continue small,.journey small,.listcard small,.trend small{font-size:8px}
.mini+nav button{font-size:10px}
.slice-shell{height:calc(100vh - 128px);display:grid;grid-template-rows:58px 1fr;background:linear-gradient(135deg,#071923,#0a2430)}
.slice-progress{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:10px 18px;border-bottom:1px solid #294f5d;background:#081f2a}
.slice-progress button{border:1px solid #2a5060;background:#0a2633;color:#78919c;border-radius:10px;padding:7px;display:flex;align-items:center;gap:8px;font-size:9px}
.slice-progress button i{width:23px;height:23px;border-radius:7px;display:grid;place-items:center;border:1px solid #365e6c;font-style:normal;font-size:8px}
.slice-progress button.active,.slice-progress button.done{border-color:#3e8175;color:#fff;background:#0e343d}
.slice-progress button.active i,.slice-progress button.done i{background:#2fe0bf;color:#05221b;border-color:#2fe0bf}
.slice-stage{display:none;height:100%;overflow:auto}
.slice-stage.active{display:block}
.context-visual,.learn-layout,.remediation-layout,.prove-layout,.progress-layout{height:100%;display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;padding:34px 48px}
.context-copy h1{font-size:42px;line-height:1.06;letter-spacing:-.035em;margin:10px 0 14px}
.context-copy>p,.learn-copy>p,.remediation-copy>p,.prove-copy>p,.result-card>p{font-size:13px;line-height:1.65;color:#91a7b1}
.context-points{display:grid;gap:9px;margin:18px 0}
.context-points div{border:1px solid #2c5362;border-radius:10px;padding:11px;background:#0a2633}
.context-points b,.context-points span{display:block}
.context-points b{font-size:10px;color:#2fe0bf}.context-points span{font-size:10px;margin-top:4px;color:#a0b3bb}
.context-diagram{border:1px solid #2e5867;border-radius:18px;background:#0c2b39;padding:24px}
.diagram-title{font-size:10px;color:#718c97;margin-bottom:18px}
.logic-flow{display:flex;align-items:center;gap:8px;overflow:auto}
.logic-flow span{padding:10px 12px;border:1px solid #2e5361;border-radius:9px;font-size:10px;white-space:nowrap}
.logic-flow span.on{border-color:#3e8175;background:#123e3f;color:#e2fff8}
.logic-flow i{font-style:normal;color:#2fe0bf}
.principle-card{margin-top:24px;padding:18px;border:1px solid #3b7369;border-radius:13px;background:#10363d}
.principle-card b,.principle-card small{display:block}.principle-card b{font-size:20px;margin:7px 0}.principle-card p{font-size:11px;color:#8fa6b0}
.learn-copy h2,.remediation-copy h2,.prove-copy h2,.result-card h2{font-size:36px;line-height:1.08;letter-spacing:-.03em;margin:10px 0}
.dof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}
.dof-grid div{border:1px solid #2d5664;border-radius:12px;background:#0a2633;padding:14px}.dof-grid b{font-size:28px;color:#2fe0bf}.dof-grid span,.dof-grid small{display:block}.dof-grid span{font-size:11px;margin:5px 0}.dof-grid small{font-size:9px;color:#708a95}
.learn-copy .secondary,.learn-copy .primary,.remediation-copy .secondary,.remediation-copy .primary{width:auto;margin-right:7px}
.learn-visual{display:grid;place-items:center}.dof-object{position:relative;width:340px;height:340px;border:1px solid #315a68;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#174758,#0b2835 65%)}
.cube{width:125px;height:125px;border:1px solid #4b8091;background:linear-gradient(145deg,#7d9bac,#35576a);display:grid;place-items:center;text-align:center;font-size:17px;font-weight:800;transform:rotate(8deg) skewY(-4deg);box-shadow:0 25px 50px #0005}
.dof-object>span{position:absolute;font-size:11px;color:#c9dce3;background:#0a2633;border:1px solid #315563;border-radius:8px;padding:6px}.x{left:18px;top:49%}.y{right:18px;top:49%}.z{top:18px;left:44%}.rx{bottom:38px;left:48px}.ry{bottom:38px;right:48px}.rz{top:60px;right:42px}.visual-caption{max-width:390px;text-align:center;font-size:10px;color:#78919c;margin-top:12px}
.practice-layout{height:100%;display:grid;grid-template-columns:1fr 360px}.instruction.wide{padding:28px 22px}.instruction.wide h2{font-size:29px}.instruction.wide p{font-size:12px}.instruction.wide .answer{font-size:11px;padding:12px}.practice-note{font-size:9px;color:#758d97;margin-top:10px;line-height:1.45}
.error-banner{display:inline-block;border:1px solid #85574b;background:#3c2624;color:#ffbdac;border-radius:999px;padding:7px 9px;font-size:8px;font-weight:900}
.before-after{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;margin-top:18px}.before-after>div:not(.arrow-big){border-radius:14px;padding:18px}.bad{border:1px solid #70433c;background:#2e2020}.good{border:1px solid #37756b;background:#10373c}.before-after small,.before-after b{display:block}.before-after b{font-size:18px;margin:6px 0}.before-after p{font-size:10px;line-height:1.5;color:#96a8b0}.arrow-big{font-size:26px;color:#2fe0bf}
.hint-ladder{display:grid;gap:8px;margin:18px 0}.hint-ladder div{border:1px solid #2b5260;border-radius:10px;padding:10px}.hint-ladder b,.hint-ladder span{display:block}.hint-ladder b{font-size:10px}.hint-ladder span{font-size:9px;color:#78919c;margin-top:3px}.hint-ladder .done{border-color:#3b776d;background:#10343a}
.prove-copy .answer{font-size:11px;padding:12px}.evidence-panel{border:1px solid #2e5867;border-radius:17px;background:#0c2b39;padding:22px}.evidence-panel>small{display:block;margin-bottom:12px}.evidence-panel div{display:grid;grid-template-columns:150px 1fr;gap:10px;padding:10px 0;border-top:1px solid #294f5d}.evidence-panel span{font-size:9px;color:#718b96}.evidence-panel b{font-size:10px}
.evidence-success{margin-top:12px;border:1px solid #2f7d70;background:#e8faf7;color:#12332f;border-radius:10px;padding:11px}.evidence-success b,.evidence-success span{display:block}.evidence-success b{font-size:11px}.evidence-success span{font-size:9px;margin-top:3px}
.result-card,.passport-preview{border:1px solid #2e5867;border-radius:18px;background:#0c2b39;padding:24px}.result-badge{display:inline-block;border:1px solid #3d8174;border-radius:999px;padding:6px 8px;color:#2fe0bf;font-size:8px}.result-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.result-metrics div{border:1px solid #294f5d;border-radius:11px;padding:12px}.result-metrics small,.result-metrics b,.result-metrics span{display:block}.result-metrics b{font-size:16px;margin:6px 0}.result-metrics span{font-size:8px;color:#738d98}
.passport-preview>small{display:block;margin-bottom:16px}.passport-skill{display:grid;grid-template-columns:150px 1fr 25px;gap:9px;align-items:center;margin:11px 0}.passport-skill span{font-size:10px}.passport-skill i{height:6px;background:#173c4b;border-radius:99px}.passport-skill i u{display:block;height:100%;background:linear-gradient(90deg,#1ab89d,#2fe0bf)}.passport-skill b{font-size:9px}.passport-preview p{font-size:10px;line-height:1.55;color:#8199a4;margin-top:16px}
@media(max-width:900px){.context-visual,.learn-layout,.remediation-layout,.prove-layout,.progress-layout{grid-template-columns:1fr;padding:24px}.context-diagram,.learn-visual,.remediation-visual,.evidence-panel,.passport-preview{display:none}.practice-layout{grid-template-columns:1fr}.instruction.wide{display:block;position:absolute;right:0;bottom:0;width:100%;height:auto}.slice-progress{grid-template-columns:repeat(3,1fr);height:auto}.slice-shell{grid-template-rows:auto 1fr}.context-copy h1{font-size:32px}.learn-copy h2,.remediation-copy h2,.prove-copy h2,.result-card h2{font-size:29px}}


/* ===== P2.3 v0.2 UX FIX =====
   Goal: learning view gets the full viewport, one clear message at a time,
   larger readable typography, no double-header compression. */

body.learning-mode > header { display:none; }
body.learning-mode #competency {
  min-height:100vh;
  height:100vh;
  background:#071923;
}
body.learning-mode .compbar {
  height:72px;
  grid-template-columns:140px 1fr auto;
  padding:0 26px;
  background:#071d29;
  border-bottom:1px solid #294f5d;
}
body.learning-mode .compbar button {
  font-size:11px;
  color:#c4d4db;
}
body.learning-mode .compbar div small {
  font-size:8px;
}
body.learning-mode .compbar div b {
  font-size:13px;
  margin-top:3px;
}
body.learning-mode .compbar>span {
  font-size:9px;
}
body.learning-mode .slice-shell {
  height:calc(100vh - 72px);
  grid-template-rows:48px 1fr;
}
body.learning-mode .slice-progress {
  padding:7px 26px;
  gap:6px;
  background:#081f2a;
}
body.learning-mode .slice-progress button {
  min-width:0;
  min-height:34px;
  padding:5px 8px;
  font-size:10px;
  justify-content:center;
  border-radius:8px;
}
body.learning-mode .slice-progress button i {
  width:20px;height:20px;font-size:8px;border-radius:6px;
}
body.learning-mode .slice-progress button b {
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.learning-mode .slice-stage {
  overflow:hidden;
}
body.learning-mode .context-visual,
body.learning-mode .learn-layout,
body.learning-mode .remediation-layout,
body.learning-mode .prove-layout,
body.learning-mode .progress-layout {
  height:100%;
  padding:34px clamp(32px,5vw,72px);
  gap:clamp(28px,4vw,64px);
}
body.learning-mode .context-visual {
  grid-template-columns:.92fr 1.08fr;
}
body.learning-mode .context-copy h1 {
  font-size:clamp(38px,4vw,54px);
  line-height:1.04;
  max-width:680px;
  margin:12px 0 18px;
}
body.learning-mode .context-copy>p,
body.learning-mode .learn-copy>p,
body.learning-mode .remediation-copy>p,
body.learning-mode .prove-copy>p,
body.learning-mode .result-card>p {
  font-size:15px;
  line-height:1.65;
  max-width:720px;
}
body.learning-mode .context-points {
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin:20px 0 22px;
}
body.learning-mode .context-points div {
  min-height:92px;
  padding:13px;
}
body.learning-mode .context-points b {
  font-size:11px;
}
body.learning-mode .context-points span {
  font-size:11px;
  line-height:1.45;
}
body.learning-mode .context-diagram {
  min-height:430px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:30px;
  background:linear-gradient(145deg,#0c2d3b,#0a2430);
  box-shadow:0 22px 70px #0003;
}
body.learning-mode .diagram-title {font-size:11px;}
body.learning-mode .logic-flow {
  justify-content:center;
  gap:9px;
}
body.learning-mode .logic-flow span {
  font-size:11px;
  padding:10px 13px;
}
body.learning-mode .principle-card {
  margin-top:28px;
  padding:22px;
}
body.learning-mode .principle-card b {font-size:25px;}
body.learning-mode .principle-card p {font-size:12px;line-height:1.55;}

body.learning-mode .learn-layout {
  grid-template-columns:.95fr 1.05fr;
}
body.learning-mode .learn-copy h2,
body.learning-mode .remediation-copy h2,
body.learning-mode .prove-copy h2,
body.learning-mode .result-card h2 {
  font-size:clamp(34px,3.6vw,48px);
  line-height:1.06;
  max-width:720px;
}
body.learning-mode .dof-grid {
  margin:24px 0;
}
body.learning-mode .dof-grid div {
  padding:16px;
  min-height:105px;
}
body.learning-mode .dof-grid b {font-size:32px;}
body.learning-mode .dof-grid span {font-size:12px;}
body.learning-mode .dof-grid small {font-size:10px;}

body.learning-mode .practice-layout {
  height:100%;
  grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);
}
body.learning-mode .instruction.wide {
  padding:34px 30px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
body.learning-mode .instruction.wide h2 {
  font-size:34px;
  line-height:1.08;
  margin:10px 0 14px;
}
body.learning-mode .instruction.wide p {
  font-size:14px;
  line-height:1.6;
}
body.learning-mode .instruction.wide .answer {
  font-size:13px;
  padding:14px;
  margin:7px 0;
}
body.learning-mode .instruction.wide .primary {
  font-size:11px;
  padding:13px;
}
body.learning-mode .practice-note {
  font-size:10px;
  line-height:1.5;
}
body.learning-mode .lab {
  font-size:10px;
  padding:7px 9px;
}
body.learning-mode .modes button {
  font-size:10px;
  padding:7px 10px;
}

body.learning-mode .remediation-layout {
  grid-template-columns:1.05fr .95fr;
}
body.learning-mode .before-after>div:not(.arrow-big) {
  padding:22px;
}
body.learning-mode .before-after b {
  font-size:22px;
}
body.learning-mode .before-after p {
  font-size:12px;
  line-height:1.6;
}
body.learning-mode .hint-ladder div {
  padding:12px;
}
body.learning-mode .hint-ladder b {font-size:11px;}
body.learning-mode .hint-ladder span {font-size:10px;}

body.learning-mode .prove-layout {
  grid-template-columns:.95fr 1.05fr;
}
body.learning-mode .prove-copy .answer {
  font-size:13px;
  padding:14px;
}
body.learning-mode .evidence-panel {
  padding:28px;
}
body.learning-mode .evidence-panel div {
  grid-template-columns:170px 1fr;
  padding:12px 0;
}
body.learning-mode .evidence-panel span {
  font-size:11px;
}
body.learning-mode .evidence-panel b {
  font-size:12px;
}

body.learning-mode .progress-layout {
  grid-template-columns:1.05fr .95fr;
}
body.learning-mode .result-card,
body.learning-mode .passport-preview {
  padding:30px;
}
body.learning-mode .result-metrics div {
  padding:14px;
}
body.learning-mode .result-metrics b {font-size:19px;}
body.learning-mode .result-metrics span {font-size:10px;}
body.learning-mode .passport-skill {
  grid-template-columns:175px 1fr 30px;
  margin:14px 0;
}
body.learning-mode .passport-skill span {font-size:12px;}
body.learning-mode .passport-skill b {font-size:11px;}
body.learning-mode .passport-preview p {font-size:12px;}

.learning-nav {
  position:absolute;
  right:26px;
  bottom:22px;
  z-index:8;
  display:flex;
  gap:8px;
}
.learning-nav button {
  border:1px solid #345d6c;
  background:#0a2633;
  color:#d9e8ed;
  border-radius:9px;
  padding:9px 13px;
  font-size:10px;
  font-weight:800;
}
.learning-nav button.primary-next {
  background:linear-gradient(135deg,#2fe0bf,#14b99b);
  color:#05221b;
  border:0;
}

@media(max-width:1050px){
  body.learning-mode .context-points{grid-template-columns:1fr;}
  body.learning-mode .context-diagram,
  body.learning-mode .learn-visual,
  body.learning-mode .remediation-visual,
  body.learning-mode .evidence-panel,
  body.learning-mode .passport-preview{display:none;}
  body.learning-mode .context-visual,
  body.learning-mode .learn-layout,
  body.learning-mode .remediation-layout,
  body.learning-mode .prove-layout,
  body.learning-mode .progress-layout{grid-template-columns:1fr;}
  body.learning-mode .practice-layout{grid-template-columns:1fr;}
  body.learning-mode .instruction.wide{
    position:absolute;right:16px;bottom:16px;top:auto;width:min(430px,calc(100% - 32px));
    height:auto;border-radius:16px;box-shadow:0 25px 60px #0007;
  }
}

/* P2.3 Increment 2 — Instructor/SME Narration Runtime */
body.learning-mode .slice-shell{height:calc(100vh - 168px)}
.narration-bar{height:54px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 24px;background:#0a2532;border-bottom:1px solid #294f5d}
.narrator-id{display:flex;align-items:center;gap:9px;min-width:240px}
.narrator-avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#123e4b;border:1px solid #3d6c7b;color:#2fe0bf;font-size:8px;font-weight:900}
.narrator-id small,.narrator-id b{display:block}.narrator-id small{font-size:6px;color:#6c8793}.narrator-id b{font-size:10px;margin-top:2px}
.narration-controls{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.narration-controls button,.narration-controls select{border:1px solid #315563;background:#0a2330;color:#c8d9df;border-radius:8px;padding:7px 9px;font-size:8px}
.narration-controls label{font-size:7px;color:#77919c;display:flex;align-items:center;gap:5px}
.narration-controls input[type=range]{width:80px}
.subtitle-panel{height:42px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:0 24px;background:#081f2a;border-bottom:1px solid #244653}
.subtitle-panel>span{font-size:6px;color:#2fe0bf;letter-spacing:.12em}.subtitle-panel p{margin:0;font-size:9px;color:#b7c9d0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.subtitle-panel button{border:1px solid #2d5260;background:#0a2330;color:#91a8b2;border-radius:7px;padding:6px 8px;font-size:7px}
.transcript-panel{position:fixed;z-index:120;right:20px;top:185px;width:min(430px,calc(100% - 40px));max-height:55vh;overflow:auto;border:1px solid #315b69;border-radius:14px;background:#0b2b38;box-shadow:0 25px 70px #0008;padding:15px}
.transcript-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #2a4f5d;padding-bottom:9px}.transcript-head b{font-size:10px}.transcript-head button{border:0;background:transparent;color:#a7bbc3;font-size:18px}
#transcriptText h3{font-size:18px;margin:13px 0 7px}#transcriptText p{font-size:11px;line-height:1.65;color:#a3b5bd}
@media(max-width:900px){.narration-bar{height:auto;padding:8px 12px;align-items:flex-start}.narration-controls{gap:5px}.narration-controls label{display:none}.subtitle-panel{padding:0 12px}.subtitle-panel p{font-size:8px}body.learning-mode .slice-shell{height:calc(100vh - 182px)}}

/* P2.4 integrated immersive learner stage */
.immersive-stage{overflow:hidden!important}
.immersive-shell{height:100%;display:grid;grid-template-rows:auto 1fr auto;padding:14px 22px 16px;gap:9px}
.immersive-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.immersive-head small{font-size:7px;color:#2fe0bf;letter-spacing:.13em;font-weight:900}
.immersive-head h2{font-size:24px;margin:4px 0 5px;letter-spacing:-.025em}
.immersive-head p{font-size:10px;line-height:1.5;color:#819aa5;max-width:720px;margin:0}
.immersive-status{min-width:210px;border:1px solid #2d5564;background:#0a2633;border-radius:10px;padding:9px 11px}
.immersive-status span,.immersive-status b{display:block}.immersive-status span{font-size:7px;color:#8aa1aa}.immersive-status b{font-size:8px;color:#2fe0bf;margin-top:3px}
.immersive-frame-wrap{min-height:0;border:1px solid #315a68;border-radius:14px;overflow:hidden;background:#061720;box-shadow:0 18px 55px #0005}
.immersive-frame-wrap iframe{width:100%;height:100%;border:0;background:#071923}
.immersive-foot{display:flex;align-items:center;justify-content:space-between;gap:15px}
.immersive-foot span{font-size:9px;color:#8199a4}.immersive-foot button{width:auto}
.immersive-foot button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:900px){.immersive-shell{padding:8px}.immersive-head{display:block}.immersive-status{margin-top:7px}.immersive-foot{display:block}.immersive-foot button{margin-top:7px;width:100%}}

/* P2.4 integrated v0.2 — full-bleed immersive stage */
body.immersive-active .narration-bar,
body.immersive-active .subtitle-panel{display:none!important}

body.learning-mode.immersive-active .slice-shell{
  height:calc(100vh - 72px);
  grid-template-rows:48px 1fr;
}
.immersive-stage{overflow:hidden!important;padding:0!important}
.immersive-fullbleed{position:relative;width:100%;height:100%;background:#061720}
.immersive-fullbleed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#071923}
.immersive-top-status{
  position:absolute;z-index:30;left:18px;top:14px;
  display:flex;gap:7px;align-items:center;
  border:1px solid #315563;background:rgba(6,25,35,.92);border-radius:9px;padding:7px 9px;
  pointer-events:none
}
.immersive-top-status span,.immersive-top-status b{font-size:7px}
.immersive-top-status span{color:#9eb1b9;font-weight:700}
.immersive-top-status b{color:#2fe0bf}
.immersive-bottom-gate{
  position:absolute;z-index:30;left:18px;right:18px;bottom:14px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  border:1px solid #315563;background:rgba(6,25,35,.94);border-radius:10px;padding:8px 10px;
}
.immersive-bottom-gate span{font-size:8px;color:#9eb1b9}
.immersive-bottom-gate button{width:auto;padding:9px 14px}
.immersive-bottom-gate button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:900px){
  .immersive-bottom-gate{display:block}
  .immersive-bottom-gate button{width:100%;margin-top:7px}
}

/* P2.5 evidence + capability passport */
.evidence-ledger{margin-top:12px;border:1px solid #2d5564;border-radius:14px;background:#0c2b39;padding:16px}
.ledger-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.ledger-head h3{font-size:17px;margin:4px 0}.ledger-head button{width:auto}
.ledger-list{display:grid;gap:7px;max-height:280px;overflow:auto}
.ledger-item{display:grid;grid-template-columns:130px 1fr 180px;gap:10px;align-items:center;border:1px solid #294f5d;border-radius:10px;padding:9px;background:#09242f}
.ledger-item time{font-size:7px;color:#78909b}.ledger-item b{font-size:8px}.ledger-item span{font-size:7px;color:#8fa5ae}.ledger-item em{font-style:normal;font-size:7px;color:#2fe0bf;text-align:right}
.evidence-empty{font-size:8px;color:#7e97a2;padding:14px;border:1px dashed #315563;border-radius:9px}
@media(max-width:850px){.ledger-item{grid-template-columns:1fr}.ledger-item em{text-align:left}}

/* P2.6 I1 Instructor Analytics */
.instructor-view{background:#061923;color:#d9edf3}.instructor-shell{height:100vh;display:grid;grid-template-columns:220px 1fr}.instructor-nav{background:#081f2a;border-right:1px solid #274754;padding:20px 14px;display:flex;flex-direction:column;gap:7px}.role-mark{padding:8px 8px 18px;border-bottom:1px solid #274754;margin-bottom:8px}.role-mark h2{font-size:18px;margin:4px 0}.role-mark p{font-size:8px;color:#8ca4ae}.instructor-nav button{border:0;background:transparent;color:#8da5ae;text-align:left;padding:11px 12px;border-radius:9px;font-size:8px;cursor:pointer}.instructor-nav button.active{background:#123b49;color:#fff}.instructor-nav .nav-spacer{flex:1}.instructor-main{padding:22px 28px;overflow:auto}.instructor-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:20px}.instructor-head h1{font-size:25px;margin:4px 0}.instructor-head p{font-size:9px;color:#8da5ae}.cohort-select{border:1px solid #315765;background:#0b2a36;border-radius:12px;padding:11px 14px;min-width:200px}.cohort-select b,.cohort-select span{display:block;font-size:8px;margin-top:4px}.cohort-select span{color:#7f99a3}.itab{display:none}.itab.active{display:block}.faculty-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.faculty-metrics article,.faculty-card{border:1px solid #294e5c;background:#0a2935;border-radius:13px;padding:15px}.faculty-metrics b{display:block;font-size:24px;margin:5px 0}.faculty-metrics span{font-size:7px;color:#839ba5}.faculty-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;margin-bottom:12px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.card-head h3{font-size:15px;margin:3px 0}.card-head>span,.card-head>b{font-size:8px;color:#8ca4ae}.dist{display:grid;gap:9px}.dist>div{display:grid;grid-template-columns:85px 1fr 25px;gap:8px;align-items:center}.dist span,.dist b{font-size:8px}.dist i{height:7px;background:#143945;border-radius:8px;overflow:hidden}.dist u{display:block;height:100%;background:#25c9aa;border-radius:8px}.cap-mini{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.cap-mini>div{background:#09222d;border:1px solid #234854;border-radius:9px;padding:9px}.cap-mini span{font-size:7px;color:#89a0aa}.cap-mini b{display:block;font-size:18px;margin-top:3px}.learner-table{display:grid}.tr{display:grid;grid-template-columns:1.5fr .7fr .7fr .7fr 1.2fr;gap:10px;align-items:center;padding:9px 8px;border-top:1px solid #21424e;color:#d7e8ed}.tr.th{border-top:0;color:#75909b;font-size:7px}.tr.learner-row{width:100%;border-left:0;border-right:0;border-bottom:0;background:transparent;text-align:left;cursor:pointer}.tr.learner-row:hover{background:#103541}.tr span{font-size:8px}.tr span:first-child b,.tr span:first-child small{display:block}.tr small{font-size:6px;color:#6f8994;margin-top:2px}.risk{color:#ff8f78}.watch{color:#f4c45e}.good{color:#32d8b8}.textbtn{border:0;background:transparent;color:#37d6b7;cursor:pointer;font-size:8px}.competency-oversight{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.competency-oversight>div{border:1px solid #244957;border-radius:10px;padding:12px}.competency-oversight b,.competency-oversight span{display:block}.competency-oversight b{font-size:18px;margin:5px 0}.competency-oversight span{font-size:7px;color:#8099a3}.section-intro{margin-bottom:14px}.section-intro h2{font-size:21px;margin:4px 0}.section-intro p{font-size:8px;color:#859da7}.intervention-list{display:grid;gap:9px}.intervention-card{display:grid;grid-template-columns:70px 1fr 130px;gap:14px;align-items:center;background:#0a2935;border:1px solid #294e5c;border-radius:12px;padding:14px;color:#dbecef;text-align:left;cursor:pointer}.intervention-card h3{font-size:14px;margin:0 0 4px}.intervention-card p{font-size:8px;color:#8aa1aa;margin:0}.intervention-card>b{font-size:8px;color:#35d4b5}.priority{font-size:7px;border-radius:20px;padding:5px 8px;text-align:center}.priority.high{background:#4d2728;color:#ff9b86}.priority.medium{background:#4c4021;color:#ffd477}.profile-head{display:flex;align-items:center;gap:12px;margin-bottom:15px}.profile-head .avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#155267;font-weight:800}.profile-head h2{font-size:19px;margin:2px 0}.level-pill{margin-left:auto;border:1px solid #2e7169;border-radius:20px;padding:6px 10px;font-size:8px;color:#40ddbd}.evidence-review-head{display:flex;justify-content:space-between;align-items:center;margin-top:16px;border-top:1px solid #294b57;padding-top:13px}.faculty-evidence-list{display:grid;gap:7px;margin-top:8px}.faculty-evidence{display:grid;grid-template-columns:120px 1fr 160px;gap:10px;border:1px solid #244955;background:#08232d;border-radius:9px;padding:9px}.faculty-evidence time,.faculty-evidence span{font-size:7px;color:#8099a3}.faculty-evidence b{font-size:8px}.faculty-evidence em{font-size:7px;color:#32d7b7;font-style:normal;text-align:right}@media(max-width:950px){.instructor-shell{grid-template-columns:175px 1fr}.faculty-metrics,.competency-oversight{grid-template-columns:repeat(2,1fr)}.faculty-grid{grid-template-columns:1fr}.instructor-main{padding:18px}.instructor-head{flex-direction:column}.tr{min-width:680px}}

/* P2.6 v0.2 instructor entry point */
.dashhead-actions{display:flex;align-items:stretch;gap:10px}
.instructor-entry{width:auto;min-width:126px;border:1px solid #2f796f!important;background:#0e3b43!important;color:#48dfbf!important;font-weight:700;text-align:center!important;padding:0 15px!important}
.instructor-entry:hover{background:#13515a!important;color:#fff!important}
@media(max-width:850px){.dashhead-actions{flex-direction:column}.instructor-entry{padding:9px 12px!important}}

/* =========================================================
   P2.6 I1 v0.3 — Instructor Console Visual / Layout Fix
   Full-screen faculty workspace + readable analytics scale.
   ========================================================= */

body.instructor-mode > header{display:none}
body.instructor-mode #instructor{
  min-height:100vh;
  height:100vh;
  background:#061923;
}
body.instructor-mode .instructor-shell{
  height:100vh;
  min-height:100vh;
  grid-template-columns:250px minmax(0,1fr);
}
body.instructor-mode .instructor-nav{
  min-height:100vh;
  padding:24px 16px 20px;
  overflow:hidden;
}
body.instructor-mode .role-mark{
  padding:10px 10px 20px;
  margin-bottom:10px;
}
body.instructor-mode .role-mark small{font-size:9px}
body.instructor-mode .role-mark h2{
  font-size:22px;
  margin:7px 0 4px;
}
body.instructor-mode .role-mark p{
  font-size:11px;
  line-height:1.4;
  margin:0;
}
body.instructor-mode .instructor-nav button{
  padding:13px 14px;
  border-radius:10px;
  font-size:11px;
  line-height:1.2;
  font-weight:700;
}
body.instructor-mode .instructor-main{
  height:100vh;
  padding:28px clamp(28px,3vw,46px);
  overflow:auto;
  background:
    radial-gradient(circle at 82% 4%,rgba(26,91,105,.20),transparent 32%),
    linear-gradient(135deg,#071923,#0a2430);
}
body.instructor-mode .instructor-head{
  align-items:center;
  margin-bottom:22px;
}
body.instructor-mode .instructor-head small{font-size:9px}
body.instructor-mode .instructor-head h1{
  font-size:clamp(28px,2.4vw,38px);
  line-height:1.08;
  margin:7px 0 8px;
  letter-spacing:-.025em;
}
body.instructor-mode .instructor-head p{
  font-size:13px;
  line-height:1.5;
  margin:0;
  max-width:760px;
}
body.instructor-mode .cohort-select{
  min-width:245px;
  padding:14px 16px;
  border-radius:13px;
}
body.instructor-mode .cohort-select small{font-size:8px}
body.instructor-mode .cohort-select b{
  font-size:12px;
  margin-top:6px;
}
body.instructor-mode .cohort-select span{
  font-size:10px;
  margin-top:5px;
}

body.instructor-mode .faculty-metrics{
  gap:12px;
  margin-bottom:14px;
}
body.instructor-mode .faculty-metrics article,
body.instructor-mode .faculty-card{
  padding:18px;
  border-radius:15px;
  box-shadow:0 12px 35px rgba(0,0,0,.12);
}
body.instructor-mode .faculty-metrics small,
body.instructor-mode .faculty-card>small,
body.instructor-mode .card-head small{font-size:8px}
body.instructor-mode .faculty-metrics b{
  font-size:30px;
  margin:7px 0 4px;
}
body.instructor-mode .faculty-metrics span{
  font-size:10px;
  line-height:1.35;
}
body.instructor-mode .faculty-grid{
  gap:14px;
  margin-bottom:14px;
}
body.instructor-mode .card-head{
  margin-bottom:15px;
}
body.instructor-mode .card-head h3{
  font-size:19px;
  line-height:1.25;
  margin:5px 0 0;
}
body.instructor-mode .card-head>span,
body.instructor-mode .card-head>b{
  font-size:10px;
}

body.instructor-mode .dist{
  gap:12px;
}
body.instructor-mode .dist>div{
  grid-template-columns:105px 1fr 32px;
  gap:10px;
}
body.instructor-mode .dist span,
body.instructor-mode .dist b{
  font-size:11px;
}
body.instructor-mode .dist i{
  height:9px;
}
body.instructor-mode .cap-mini{
  gap:10px;
}
body.instructor-mode .cap-mini>div{
  padding:12px;
  border-radius:10px;
}
body.instructor-mode .cap-mini span{
  font-size:9px;
  line-height:1.3;
}
body.instructor-mode .cap-mini b{
  font-size:22px;
  margin-top:5px;
}

body.instructor-mode .learner-table{
  overflow:hidden;
}
body.instructor-mode .tr{
  grid-template-columns:1.5fr .65fr .65fr .65fr 1.2fr;
  padding:12px 10px;
}
body.instructor-mode .tr.th{
  font-size:9px;
  padding-top:7px;
  padding-bottom:9px;
}
body.instructor-mode .tr span{
  font-size:11px;
  line-height:1.25;
}
body.instructor-mode .tr small{
  font-size:8px;
  margin-top:4px;
}
body.instructor-mode .textbtn{
  font-size:10px;
  font-weight:800;
}

body.instructor-mode .competency-oversight{
  gap:11px;
}
body.instructor-mode .competency-oversight>div{
  padding:15px;
}
body.instructor-mode .competency-oversight small{font-size:8px}
body.instructor-mode .competency-oversight b{
  font-size:22px;
  margin:7px 0 5px;
}
body.instructor-mode .competency-oversight span{
  font-size:10px;
  line-height:1.35;
}
body.instructor-mode #itab-competencies .faculty-card + .faculty-card{
  margin-top:14px;
}
body.instructor-mode #itab-competencies .faculty-card + .faculty-card h3{
  font-size:21px;
  margin:8px 0;
}
body.instructor-mode #itab-competencies .faculty-card + .faculty-card p{
  font-size:12px;
  line-height:1.55;
  color:#91a8b1;
}

body.instructor-mode .section-intro{
  margin-bottom:18px;
}
body.instructor-mode .section-intro small{font-size:9px}
body.instructor-mode .section-intro h2{
  font-size:30px;
  margin:6px 0 7px;
}
body.instructor-mode .section-intro p{
  font-size:12px;
  line-height:1.5;
}
body.instructor-mode .intervention-list{
  gap:11px;
}
body.instructor-mode .intervention-card{
  grid-template-columns:78px 1fr 145px;
  padding:17px 18px;
  border-radius:13px;
}
body.instructor-mode .intervention-card h3{
  font-size:17px;
  margin-bottom:6px;
}
body.instructor-mode .intervention-card p{
  font-size:11px;
  line-height:1.45;
}
body.instructor-mode .intervention-card>b{
  font-size:10px;
}
body.instructor-mode .priority{
  font-size:9px;
  padding:6px 9px;
}

body.instructor-mode .profile-head{
  gap:15px;
  margin-bottom:18px;
}
body.instructor-mode .profile-head .avatar{
  width:54px;
  height:54px;
  font-size:16px;
}
body.instructor-mode .profile-head small{font-size:8px}
body.instructor-mode .profile-head h2{
  font-size:23px;
  margin:4px 0;
}
body.instructor-mode .profile-head p{
  font-size:11px;
  color:#8199a3;
  margin:0;
}
body.instructor-mode .level-pill{
  font-size:10px;
  padding:7px 11px;
}
body.instructor-mode .evidence-review-head{
  margin-top:18px;
  padding-top:16px;
}
body.instructor-mode .evidence-review-head h3{
  font-size:18px;
  margin:0;
}
body.instructor-mode .evidence-review-head span{
  font-size:9px;
}
body.instructor-mode .faculty-evidence-list{
  gap:9px;
  margin-top:10px;
}
body.instructor-mode .faculty-evidence{
  grid-template-columns:150px 1fr 190px;
  gap:12px;
  padding:12px;
}
body.instructor-mode .faculty-evidence time,
body.instructor-mode .faculty-evidence span{
  font-size:9px;
  line-height:1.4;
}
body.instructor-mode .faculty-evidence b{
  display:block;
  font-size:11px;
  margin-bottom:3px;
}
body.instructor-mode .faculty-evidence em{
  font-size:9px;
  line-height:1.35;
}

@media(max-width:1100px){
  body.instructor-mode .instructor-shell{grid-template-columns:210px 1fr}
  body.instructor-mode .instructor-main{padding:22px}
  body.instructor-mode .faculty-metrics{grid-template-columns:repeat(2,1fr)}
  body.instructor-mode .faculty-grid{grid-template-columns:1fr}
  body.instructor-mode .competency-oversight{grid-template-columns:repeat(2,1fr)}
}

/* P2.6 I1 v0.6 — simplified single-strip instructor header */
body.instructor-mode .simplified-head{
  display:block;
  margin-bottom:22px;
}
body.instructor-mode .instructor-title-strip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  width:100%;
  min-width:0;
  padding:14px 18px;
  box-sizing:border-box;
  border:1px solid #315765;
  background:#0b2a36;
  border-radius:13px;
}
body.instructor-mode .instructor-title-strip > div:first-child{
  min-width:0;
  flex:1 1 auto;
}
body.instructor-mode .instructor-title-strip small{
  font-size:9px;
}
body.instructor-mode .instructor-title-strip h1{
  margin:5px 0 0;
  font-size:clamp(28px,2.4vw,38px);
  line-height:1.08;
  letter-spacing:-.025em;
  white-space:normal;
  overflow-wrap:break-word;
}
body.instructor-mode .cohort-inline{
  display:flex;
  align-items:baseline;
  gap:8px;
  flex:0 0 auto;
  white-space:nowrap;
}
body.instructor-mode .cohort-inline small{
  color:#7f99a3;
}
body.instructor-mode .cohort-inline b{
  font-size:11px;
  color:#d9edf3;
}
body.instructor-mode .cohort-inline span{
  font-size:9px;
  color:#7f99a3;
}
@media(max-width:900px){
  body.instructor-mode .instructor-title-strip{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }
  body.instructor-mode .cohort-inline{
    white-space:normal;
    flex-wrap:wrap;
  }
}

/* P2.6 I1 v0.7 — remove header text box completely */
body.instructor-mode .instructor-title-strip{
  border:0 !important;
  background:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:4px 0 10px !important;
}
body.instructor-mode .simplified-head{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

/* =========================================================
   P2.6 Increment 2 — Institute Leadership Analytics
   ========================================================= */
body.leadership-mode > header{display:none}
body.leadership-mode #leadership{height:100vh;min-height:100vh;background:#061923;color:#d9edf3}
.leadership-shell{height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}
.leadership-nav{background:#071f2a;border-right:1px solid #274754;padding:24px 16px 20px;display:flex;flex-direction:column;gap:7px}
.leadership-brand{padding:10px 10px 20px;border-bottom:1px solid #274754;margin-bottom:10px}
.leadership-brand small{font-size:9px}.leadership-brand h2{font-size:22px;margin:7px 0 4px}.leadership-brand p{font-size:11px;color:#8ca4ae;margin:0}
.leadership-nav button{border:0;background:transparent;color:#8da5ae;text-align:left;padding:13px 14px;border-radius:10px;font-size:11px;line-height:1.2;font-weight:700;cursor:pointer}
.leadership-nav button.active{background:#123b49;color:#fff}.leadership-nav button:hover{background:#0d313d;color:#dff7f2}.leadership-nav .nav-spacer{flex:1}
.leadership-main{height:100vh;padding:28px clamp(28px,3vw,46px);overflow:auto;background:radial-gradient(circle at 82% 4%,rgba(26,91,105,.18),transparent 30%),linear-gradient(135deg,#071923,#0a2430)}
.leadership-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px;padding:3px 0 10px}
.leadership-head small{font-size:9px}.leadership-head h1{font-size:clamp(28px,2.4vw,38px);line-height:1.08;margin:6px 0 0;letter-spacing:-.025em}
.leadership-period{display:flex;flex-direction:column;align-items:flex-end;gap:3px;white-space:nowrap}.leadership-period span{font-size:11px;color:#8fa7b0}.leadership-period b{font-size:12px}
.ltab{display:none}.ltab.active{display:block}
.leadership-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px}
.leadership-kpis article,.leadership-card{border:1px solid #294e5c;background:#0a2935;border-radius:15px;padding:18px;box-shadow:0 12px 35px rgba(0,0,0,.12)}
.leadership-kpis small,.leadership-card small{font-size:8px}.leadership-kpis b{display:block;font-size:28px;margin:7px 0 4px}.leadership-kpis span{font-size:9px;color:#839ba5;line-height:1.35}
.leadership-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:14px;margin-bottom:14px}.leadership-grid.lg-2{grid-template-columns:1.15fr .85fr}
.lcard-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}.lcard-head h3{font-size:19px;margin:5px 0 0}.lcard-head>span{font-size:9px;color:#849ca6}
.cohort-bars{display:grid;gap:13px}.cohort-bars>div{display:grid;grid-template-columns:175px 1fr 40px;gap:12px;align-items:center}.cohort-bars span,.cohort-bars b{font-size:11px}.cohort-bars i,.cp-row i,.capability-portfolio i{height:9px;background:#143945;border-radius:8px;overflow:hidden}.cohort-bars u,.cp-row u,.capability-portfolio u{display:block;height:100%;background:#25c9aa;border-radius:8px}
.signal-list{display:grid;gap:10px}.signal{padding:11px 12px;border:1px solid #284b57;border-radius:10px;background:#09232d}.signal b,.signal span{display:block}.signal b{font-size:15px;margin-bottom:4px}.signal span{font-size:9px;color:#8ba2ac}.signal.warn b{color:#ff9b86}.signal.watch b{color:#f4c45e}.signal.good b{color:#32d8b8}
.program-funnel{display:grid;grid-template-columns:repeat(9,auto);align-items:center;justify-content:space-between;gap:10px}.program-funnel>div{min-width:105px}.program-funnel small,.program-funnel b,.program-funnel span{display:block}.program-funnel b{font-size:24px;margin:5px 0}.program-funnel span{font-size:9px;color:#7f98a2}.program-funnel>i{font-style:normal;color:#4c717d}
.leadership-intro{margin-bottom:18px}.leadership-intro h2{font-size:30px;margin:6px 0 7px}.leadership-intro p{font-size:12px;line-height:1.5;color:#859da7}
.leadership-table{display:grid}.lr{display:grid;grid-template-columns:1.5fr .6fr .7fr .7fr .8fr .9fr;gap:10px;align-items:center;padding:13px 10px;border-top:1px solid #21424e}.lr.th{border-top:0;color:#75909b;font-size:9px}.lr span{font-size:11px}.lr span:first-child b,.lr span:first-child small{display:block}.lr small{font-size:8px;color:#6f8994;margin-top:4px}
.competency-performance h3{font-size:21px;margin:7px 0 18px}.cp-row{display:grid;grid-template-columns:145px 1fr 42px;gap:12px;align-items:center;margin:12px 0}.cp-row span,.cp-row b{font-size:11px}.competency-performance p{font-size:11px;line-height:1.5;color:#8ba2ac;margin:18px 0 0}
.insight-stat{border-top:1px solid #234652;padding:13px 0;display:flex;align-items:baseline;gap:12px}.insight-stat:first-of-type{border-top:0}.insight-stat b{font-size:24px}.insight-stat span{font-size:10px;color:#899fa9}
.capability-portfolio{display:grid;gap:13px}.capability-portfolio>div{display:grid;grid-template-columns:185px 1fr 42px;gap:12px;align-items:center}.capability-portfolio span,.capability-portfolio b{font-size:11px}
.cause-list{display:grid;margin-top:12px}.cause-list>div{display:grid;grid-template-columns:30px 1fr 70px;gap:10px;padding:12px 0;border-top:1px solid #244955;align-items:center}.cause-list>div:first-child{border-top:0}.cause-list b{font-size:11px;color:#6fdcc7}.cause-list span{font-size:11px}.cause-list em{font-size:9px;color:#8ca3ac;font-style:normal;text-align:right}
.outcome-grid{display:grid;grid-template-columns:.42fr .58fr;gap:14px;margin-bottom:14px}.outcome-score b{font-size:54px;line-height:1;display:inline-block;margin-top:12px}.outcome-score>span{font-size:14px;color:#879ea8}.outcome-score p{font-size:11px;color:#879ea8;line-height:1.45}.readiness-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-top:1px solid #234652}.readiness-row:first-child{border-top:0}.readiness-row span{font-size:11px}.readiness-row b{font-size:17px}.leadership-note p{font-size:11px;line-height:1.55;color:#8da4ad;margin-bottom:0}
@media(max-width:1200px){.leadership-kpis{grid-template-columns:repeat(3,1fr)}.leadership-grid,.leadership-grid.lg-2{grid-template-columns:1fr}.program-funnel{grid-template-columns:repeat(5,1fr)}.program-funnel>i{display:none}}
@media(max-width:900px){.leadership-shell{grid-template-columns:205px 1fr}.leadership-main{padding:22px}.leadership-head{align-items:flex-start;flex-direction:column}.leadership-period{align-items:flex-start}.leadership-kpis{grid-template-columns:repeat(2,1fr)}.outcome-grid{grid-template-columns:1fr}.lr{min-width:720px}.leadership-table{overflow:auto}}

/* P2.6 I2 v0.2 — Executive visual management dashboard */
:root{
  --status-good:#31d6a6;
  --status-watch:#f2c45c;
  --status-risk:#ff7568;
  --status-info:#50aee8;
  --status-muted:#173946;
}

body.leadership-mode .leadership-kpis article:nth-child(1){border-top:3px solid var(--status-good)}
body.leadership-mode .leadership-kpis article:nth-child(2){border-top:3px solid var(--status-good)}
body.leadership-mode .leadership-kpis article:nth-child(3){border-top:3px solid var(--status-watch)}
body.leadership-mode .leadership-kpis article:nth-child(4){border-top:3px solid var(--status-risk)}
body.leadership-mode .leadership-kpis article:nth-child(5){border-top:3px solid var(--status-watch)}

.donut-layout{display:grid;grid-template-columns:190px 1fr;align-items:center;gap:22px;min-height:190px}
.donut{
  width:165px;height:165px;border-radius:50%;
  position:relative;display:grid;place-items:center;
  margin:auto;
}
.cohort-health-donut{
  background:conic-gradient(
    var(--status-good) 0 41%,
    var(--status-watch) 41% 83%,
    var(--status-risk) 83% 100%
  );
}
.completion-donut{
  background:conic-gradient(
    var(--status-good) 0 64%,
    var(--status-info) 64% 83%,
    var(--status-risk) 83% 100%
  );
}
.donut::after{
  content:"";position:absolute;inset:22px;border-radius:50%;
  background:#0a2935;border:1px solid #254b58;
}
.donut-center{position:relative;z-index:2;text-align:center}
.donut-center b{display:block;font-size:28px;line-height:1}
.donut-center span{display:block;font-size:9px;color:#849da7;margin-top:5px;text-transform:uppercase;letter-spacing:.08em}

.donut-legend{display:grid;gap:12px}
.donut-legend>div{display:grid;grid-template-columns:12px 1fr 42px;gap:9px;align-items:center}
.donut-legend span,.donut-legend b{font-size:11px}
.donut-legend b{text-align:right}
.legend-dot{width:9px;height:9px;border-radius:50%;display:block}
.status-good{background:var(--status-good)}
.status-watch{background:var(--status-watch)}
.status-risk{background:var(--status-risk)}
.status-info{background:var(--status-info)}

.visual-signals .signal{
  display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;
  padding:12px 13px;
}
.signal-icon{
  width:28px;height:28px;border-radius:50%;display:grid;place-items:center;
  font-size:14px;font-weight:900;
}
.visual-signals .signal.good{border-left:4px solid var(--status-good)}
.visual-signals .signal.watch{border-left:4px solid var(--status-watch)}
.visual-signals .signal.warn{border-left:4px solid var(--status-risk)}
.visual-signals .signal.good .signal-icon{background:rgba(49,214,166,.14);color:var(--status-good)}
.visual-signals .signal.watch .signal-icon{background:rgba(242,196,92,.14);color:var(--status-watch)}
.visual-signals .signal.warn .signal-icon{background:rgba(255,117,104,.14);color:var(--status-risk)}

.cohort-health-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.health-card{
  min-height:125px;border-radius:12px;padding:14px;
  border:1px solid #294e5c;background:#09232d;
  display:flex;flex-direction:column;justify-content:center;
}
.health-card small{font-size:8px}.health-card b{font-size:28px;margin:7px 0 4px}.health-card span{font-size:10px}
.status-good-card{border-top:4px solid var(--status-good)} .status-good-card span{color:var(--status-good)}
.status-watch-card{border-top:4px solid var(--status-watch)} .status-watch-card span{color:var(--status-watch)}
.status-risk-card{border-top:4px solid var(--status-risk)} .status-risk-card span{color:var(--status-risk)}

body.leadership-mode .lr .good{color:var(--status-good)}
body.leadership-mode .lr .watch{color:var(--status-watch)}
body.leadership-mode .lr .risk{color:var(--status-risk)}

@media(max-width:1050px){
  .donut-layout{grid-template-columns:160px 1fr}.donut{width:145px;height:145px}
}
@media(max-width:720px){
  .donut-layout{grid-template-columns:1fr}.cohort-health-cards{grid-template-columns:1fr}
}

/* P2.6 I2 v0.3 — consistent visual UX across all leadership screens */
.compact-kpis{grid-template-columns:repeat(4,1fr)}
.compact-kpis article:nth-child(1){border-top:3px solid var(--status-good)}
.compact-kpis article:nth-child(2){border-top:3px solid var(--status-watch)}
.compact-kpis article:nth-child(3){border-top:3px solid var(--status-watch)}
.compact-kpis article:nth-child(4){border-top:3px solid var(--status-risk)}

.cohort-status-donut{
  background:conic-gradient(var(--status-good) 0 33.33%,var(--status-watch) 33.33% 66.66%,var(--status-risk) 66.66% 100%)
}
.competency-health-donut{
  background:conic-gradient(var(--status-good) 0 44%,var(--status-watch) 44% 78%,var(--status-risk) 78% 100%)
}
.capability-balance-donut{
  background:conic-gradient(var(--status-good) 0 34%,var(--status-watch) 34% 84%,var(--status-risk) 84% 100%)
}
.intervention-donut{
  background:conic-gradient(var(--status-good) 0 25%,var(--status-watch) 25% 58%,var(--status-risk) 58% 100%)
}
.readiness-donut{
  background:conic-gradient(var(--status-good) 0 28%,var(--status-watch) 28% 83%,var(--status-risk) 83% 100%)
}
.colored-capability .good-bar{background:var(--status-good)!important}
.colored-capability .watch-bar{background:var(--status-watch)!important}
.colored-capability .risk-bar{background:var(--status-risk)!important}
.visual-causes>div{border-left:4px solid transparent;padding-left:12px!important}
.visual-causes .cause-critical{border-left-color:var(--status-risk)}
.visual-causes .cause-watch{border-left-color:var(--status-watch)}
.visual-causes .cause-info{border-left-color:var(--status-info)}
@media(max-width:1100px){.compact-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.compact-kpis{grid-template-columns:1fr}}

/* =========================================================
   P2.7 I1 — AI Instructor & Learner Remediation Intelligence
   ========================================================= */
.compbar-actions{display:flex;align-items:center;gap:10px}
.ai-instructor-entry{
  border:1px solid #2d6f76;background:#0d3943;color:#dff8f3;border-radius:9px;
  padding:8px 11px;font-size:10px;font-weight:800;cursor:pointer;
  display:flex;align-items:center;gap:7px;
}
.ai-instructor-entry span,.ai-orb,.ai-restore span{
  display:grid;place-items:center;border-radius:50%;font-weight:900;
  background:linear-gradient(135deg,#20c9a5,#4b9fe8);color:#061b22;
}
.ai-instructor-entry span{width:22px;height:22px;font-size:9px}

.ai-instructor-drawer{
  position:fixed;z-index:500;top:14px;right:14px;width:min(420px,calc(100vw - 28px));
  height:calc(100vh - 28px);background:#071d27;border:1px solid #315865;
  border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.46);
  display:none;flex-direction:column;color:#dceff3;overflow:hidden;
}
.ai-instructor-drawer.open{display:flex}
.ai-drawer-head{
  min-height:66px;padding:12px 14px;border-bottom:1px solid #294b57;background:#0a2732;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.ai-identity{display:flex;align-items:center;gap:10px;min-width:0}
.ai-orb{width:36px;height:36px;font-size:11px;flex:0 0 auto}
.ai-identity small{display:block;font-size:8px;color:#7f99a3;letter-spacing:.06em}
.ai-identity b{display:block;font-size:14px;margin-top:3px}
.ai-window-actions{display:flex;gap:5px}
.ai-window-actions button{
  width:30px;height:30px;border:1px solid #31525e;border-radius:8px;background:#0b313d;
  color:#cfe7eb;cursor:pointer;font-size:16px;
}
.ai-drawer-body{padding:14px;overflow:auto;display:grid;gap:12px}
.ai-context-strip{
  display:grid;grid-template-columns:1fr 1.2fr auto;gap:8px;align-items:center;
  border:1px solid #294b57;background:#092630;border-radius:11px;padding:10px;
}
.ai-context-strip small{display:block;font-size:7px;color:#78929c}
.ai-context-strip b{display:block;font-size:10px;margin-top:3px}
.ai-status{
  padding:6px 8px;border-radius:999px;font-size:7px;font-weight:900;letter-spacing:.05em;
}
.ai-status.good{background:rgba(49,214,166,.13);color:#31d6a6}
.ai-status.watch{background:rgba(242,196,92,.13);color:#f2c45c}
.ai-status.risk{background:rgba(255,117,104,.13);color:#ff7568}
.ai-status.info{background:rgba(80,174,232,.13);color:#65baf0}

.ai-diagnosis-card,.ai-action-panel,.ai-integrity-note{
  border:1px solid #294b57;background:#092630;border-radius:12px;padding:13px;
}
.ai-diagnosis-card>small,.ai-action-panel>small{font-size:8px;color:#71909a}
.ai-diagnosis-card h3{font-size:17px;line-height:1.2;margin:5px 0 7px}
.ai-diagnosis-card>p,.ai-action-panel>p{font-size:10px;line-height:1.5;color:#91a8b0;margin:0}
.ai-rationale{margin-top:10px;padding-top:9px;border-top:1px solid #214450}
.ai-rationale b,.ai-rationale span{display:block}
.ai-rationale b{font-size:9px}.ai-rationale span{font-size:9px;line-height:1.45;color:#839ca6;margin-top:3px}

.ai-conversation{display:grid;gap:8px;max-height:230px;overflow:auto}
.ai-message{padding:10px 11px;border-radius:11px;border:1px solid #2a4c58}
.ai-message span{font-size:8px;font-weight:800;letter-spacing:.05em}
.ai-message p{font-size:10px;line-height:1.52;margin:5px 0 0}
.ai-message.coach{background:#0a2b36}
.ai-message.learner{background:#123744;margin-left:40px}
.ai-message.learner span{color:#77a8b7}
.ai-message.coach span{color:#4ed8bd}

.ai-prompts{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.ai-prompts button{
  border:1px solid #315663;background:#0a2a35;color:#cfe4e9;border-radius:9px;padding:9px;
  font-size:9px;font-weight:700;text-align:left;cursor:pointer;
}
.ai-prompts button:hover{border-color:#42a891;background:#0c3440}
.ai-action-panel b{display:block;font-size:14px;margin:5px 0}
.ai-action-buttons{display:flex;gap:7px;margin-top:10px}
.ai-action-buttons button{flex:1;padding:9px;font-size:9px}
.ai-integrity-note{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start;border-left:3px solid #50aee8}
.ai-integrity-note b{font-size:9px}.ai-integrity-note span{font-size:8px;line-height:1.4;color:#829aa4}

.ai-instructor-drawer.minimized{
  top:auto;bottom:16px;height:48px;width:168px;border-radius:24px;background:transparent;
  border:0;box-shadow:none;overflow:visible;
}
.ai-instructor-drawer.minimized .ai-drawer-head,
.ai-instructor-drawer.minimized .ai-drawer-body{display:none}
.ai-restore{
  display:none;width:168px;height:48px;border:1px solid #37636e;border-radius:24px;
  background:#0a303b;color:#dff5f2;font-size:10px;font-weight:850;cursor:pointer;
  align-items:center;justify-content:center;gap:8px;box-shadow:0 12px 35px rgba(0,0,0,.35);
}
.ai-instructor-drawer.minimized .ai-restore{display:flex}
.ai-restore span{width:27px;height:27px;font-size:9px}

@media(max-width:780px){
  .ai-instructor-drawer{top:6px;right:6px;width:calc(100vw - 12px);height:calc(100vh - 12px)}
  .ai-context-strip{grid-template-columns:1fr 1fr}.ai-context-strip .ai-status{grid-column:1/-1;width:max-content}
  .ai-prompts{grid-template-columns:1fr}
  .compbar-actions #sliceStageLabel{display:none}
}

/* P2.7 I1 v0.2 — free text + voice Q&A */
.ai-ask-box{
  border:1px solid #315663;background:#092630;border-radius:12px;padding:10px;
}
.ai-input-wrap{display:grid;grid-template-columns:1fr 38px;gap:7px}
.ai-input-wrap input{
  width:100%;box-sizing:border-box;border:1px solid #315663;background:#061e28;color:#e4f3f5;
  border-radius:9px;padding:10px 11px;font-size:10px;outline:none;
}
.ai-input-wrap input:focus{border-color:#48b9a4;box-shadow:0 0 0 2px rgba(72,185,164,.12)}
.ai-mic-btn{
  border:1px solid #315663;background:#0b3340;color:#dff5f2;border-radius:9px;cursor:pointer;font-size:15px;
}
.ai-mic-btn.listening{border-color:#ff7568;background:rgba(255,117,104,.12);animation:aiPulse 1s infinite}
@keyframes aiPulse{50%{box-shadow:0 0 0 6px rgba(255,117,104,.08)}}
.ai-ask-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px}
.ai-ask-actions span{font-size:8px;color:#819ba5;line-height:1.35}
.ai-ask-actions button{padding:8px 10px;font-size:9px;white-space:nowrap}
.ai-response-controls{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ai-response-controls button{
  border:1px solid #315663;background:#0a2a35;color:#cfe4e9;border-radius:8px;padding:7px 9px;font-size:8px;cursor:pointer;
}
.ai-response-controls label{font-size:8px;color:#819ba5;display:flex;align-items:center;gap:5px}

/* =========================================================
   P2.7 I2 — Instructor Intelligence & Intervention Recommendations
   ========================================================= */
.instructor-ai-kpis article:nth-child(1){border-top:3px solid var(--status-risk)}
.instructor-ai-kpis article:nth-child(2){border-top:3px solid var(--status-risk)}
.instructor-ai-kpis article:nth-child(3){border-top:3px solid var(--status-good)}
.instructor-ai-kpis article:nth-child(4){border-top:3px solid var(--status-watch)}

.ai-priority-list{display:grid;gap:8px}
.priority-learner{
  width:100%;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;
  border:1px solid #2c4c57;background:#0a2732;border-radius:11px;padding:10px 11px;color:#dceff3;
  text-align:left;cursor:pointer;
}
.priority-learner:hover{border-color:#4b7380;background:#0c303d}
.priority-learner.risk{border-left:4px solid var(--status-risk)}
.priority-learner.watch{border-left:4px solid var(--status-watch)}
.priority-rank{
  width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#102f3a;
  font-size:9px;font-weight:900;color:#91aeb8;
}
.priority-learner b{display:block;font-size:11px}
.priority-learner span{display:block;font-size:8px;line-height:1.4;color:#8ea4ad;margin-top:3px}
.priority-learner em{font-style:normal;font-size:8px;font-weight:850}
.priority-learner.risk em{color:var(--status-risk)}
.priority-learner.watch em{color:var(--status-watch)}

.ai-recommendation-box{display:grid;gap:8px}
.ai-rec-row{border:1px solid #294b57;background:#092630;border-radius:10px;padding:10px}
.ai-rec-row small{display:block;font-size:7px;color:#6f8d98;letter-spacing:.05em}
.ai-rec-row p{font-size:9px;line-height:1.5;color:#c0d2d7;margin:4px 0 0}
.ai-intervention-actions{display:flex;gap:8px;margin-top:10px}
.ai-intervention-actions button{flex:1;padding:9px;font-size:9px}

.instructor-recovery-donut{
  background:conic-gradient(var(--status-good) 0 81%,var(--status-watch) 81% 94%,var(--status-risk) 94% 100%)
}
.faculty-brief{
  display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:start;
  border:1px solid #294b57;background:#092630;border-radius:12px;padding:13px;
}
.brief-icon{
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,#20c9a5,#4b9fe8);color:#071d27;font-size:11px;font-weight:900;
}
.faculty-brief b{display:block;font-size:12px;line-height:1.4}
.faculty-brief p{font-size:9px;line-height:1.55;color:#8fa7b0;margin:6px 0 0}

@media(max-width:720px){
  .priority-learner{grid-template-columns:32px 1fr}.priority-learner em{grid-column:2}
  .ai-intervention-actions{flex-direction:column}
}

/* =========================================================
   P2.7 I3 — Institutional Intelligence & Decision Support
   ========================================================= */
.institution-ai-kpis article:nth-child(1){border-top:3px solid var(--status-good)}
.institution-ai-kpis article:nth-child(2){border-top:3px solid var(--status-risk)}
.institution-ai-kpis article:nth-child(3){border-top:3px solid var(--status-risk)}
.institution-ai-kpis article:nth-child(4){border-top:3px solid var(--status-good)}

.institution-priority-list{display:grid;gap:8px}
.institution-priority{
  width:100%;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;
  border:1px solid #2c4c57;background:#0a2732;border-radius:11px;padding:10px 11px;color:#dceff3;
  text-align:left;cursor:pointer;
}
.institution-priority:hover{border-color:#4b7380;background:#0c303d}
.institution-priority.risk{border-left:4px solid var(--status-risk)}
.institution-priority.watch{border-left:4px solid var(--status-watch)}
.institution-priority.good{border-left:4px solid var(--status-good)}
.institution-priority b{display:block;font-size:11px}
.institution-priority span{display:block;font-size:8px;line-height:1.4;color:#8ea4ad;margin-top:3px}
.institution-priority em{font-style:normal;font-size:8px;font-weight:850}
.institution-priority.risk em{color:var(--status-risk)}
.institution-priority.watch em{color:var(--status-watch)}
.institution-priority.good em{color:var(--status-good)}
.institution-priority.selected{outline:2px solid rgba(77,178,208,.22);background:#0c3340}

.institution-health-donut{
  background:conic-gradient(var(--status-good) 0 46%,var(--status-watch) 46% 83%,var(--status-risk) 83% 100%)
}
.institution-brief{border-left:3px solid var(--status-info)}
.decision-trace-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:9px
}
.decision-trace-grid>div{
  border:1px solid #294b57;background:#092630;border-radius:10px;padding:11px
}
.decision-trace-grid small{display:block;font-size:7px;color:#78939c;letter-spacing:.05em}
.decision-trace-grid b{display:block;font-size:9px;line-height:1.45;margin-top:5px;color:#d5e7eb}

@media(max-width:900px){
  .decision-trace-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .institution-priority{grid-template-columns:32px 1fr}
  .institution-priority em{grid-column:2}
  .decision-trace-grid{grid-template-columns:1fr}
}

/* P2.7 I3 v0.2 — layout stabilization */
.institution-priority-list-horizontal{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.institution-priority-list-horizontal .institution-priority{
  min-height:72px;
}
.decision-trace-grid-2x2{
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-top:12px;
}
#ltab-intelligence .leadership-card{
  overflow:hidden;
}
#ltab-intelligence .faculty-brief{
  margin-bottom:0;
}
#ltab-intelligence .ai-recommendation-box{
  grid-template-columns:1fr;
}
@media(max-width:900px){
  .institution-priority-list-horizontal{grid-template-columns:1fr}
  .decision-trace-grid-2x2{grid-template-columns:1fr}
}

/* =========================================================
   P2.7 I3 v0.6 — VERIFIED single-scroll container fix
   Actual DOM classes:
   .leadership-shell
   .leadership-nav
   .leadership-main
   ========================================================= */

/* No document-level scrolling in Institute Leadership mode. */
html,
body{
  max-width:100%;
}

body.leadership-mode{
  height:100vh !important;
  overflow:hidden !important;
}

/* Leadership occupies exactly one viewport. */
body.leadership-mode #leadership{
  height:100vh !important;
  min-height:0 !important;
  max-height:100vh !important;
  overflow:hidden !important;
}

/* Preserve the original accepted two-column grid:
   fixed navigation + remaining viewport width. */
body.leadership-mode .leadership-shell{
  display:grid !important;
  grid-template-columns:250px minmax(0,1fr) !important;
  width:100% !important;
  height:100vh !important;
  max-height:100vh !important;
  overflow:hidden !important;
}

/* Left navigation never scrolls horizontally or vertically. */
body.leadership-mode .leadership-nav{
  min-width:0 !important;
  height:100vh !important;
  max-height:100vh !important;
  overflow:hidden !important;
}

/* THIS is the one and only vertical scroll surface.
   Because it occupies grid column 2 all the way to the viewport edge,
   its native scrollbar is rendered at the far-right edge of the screen. */
body.leadership-mode .leadership-main{
  min-width:0 !important;
  width:auto !important;
  height:100vh !important;
  max-height:100vh !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain;
  scrollbar-gutter:auto !important;
}

/* Tabs and cards must not create nested scroll areas. */
body.leadership-mode .ltab{
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}

body.leadership-mode .ltab:not(.active){
  display:none !important;
}

body.leadership-mode .leadership-card,
body.leadership-mode .leadership-grid,
body.leadership-mode .leadership-kpis,
body.leadership-mode .signal-list,
body.leadership-mode .institution-priority-list,
body.leadership-mode .ai-recommendation-box{
  overflow:visible !important;
}

/* Preserve existing responsive navigation width. */
@media(max-width:900px){
  body.leadership-mode .leadership-shell{
    grid-template-columns:205px minmax(0,1fr) !important;
  }
}

/* =========================================================
   P2.7 I3 v0.7 — Management Priorities panel spacing
   Visual-only fix; no layout architecture changes.
   ========================================================= */
#ltab-intelligence > .leadership-card + .leadership-grid{
  margin-top:14px !important;
}

/* =========================================================
   P2.7 I3 v0.9 — Sticky Leadership Header / Single Scroll
   Uses the proven v0.7 architecture:
   .leadership-main remains the ONLY scroll container.
   ========================================================= */

/* Move the original top padding from the scroll container into the header.
   This lets the header stick cleanly to the top without introducing
   any additional scrolling wrapper. */
body.leadership-mode .leadership-main{
  padding-top:0 !important;
}

/* Keep the primary Leadership Analytics header visible while the
   existing .leadership-main content scrolls beneath it. */
body.leadership-mode .leadership-head{
  position:sticky !important;
  top:0 !important;
  z-index:40 !important;
  margin-bottom:22px !important;
  padding-top:28px !important;
  padding-bottom:14px !important;
  background:
    linear-gradient(180deg,
      rgba(7,25,35,1) 0%,
      rgba(8,30,40,.985) 72%,
      rgba(8,30,40,.94) 100%) !important;
  border-bottom:1px solid rgba(66,104,116,.22);
}

/* Ensure scrolling content never paints above the sticky header. */
body.leadership-mode .ltab{
  position:relative;
  z-index:1;
}

/* Preserve the exact v0.7 one-scroll architecture. */
body.leadership-mode .leadership-main{
  overflow-y:auto !important;
  overflow-x:hidden !important;
}

body.leadership-mode .leadership-head,
body.leadership-mode .leadership-card,
body.leadership-mode .leadership-grid,
body.leadership-mode .leadership-kpis{
  overflow:visible !important;
}

@media(max-width:900px){
  body.leadership-mode .leadership-head{
    padding-top:22px !important;
  }
}

/* =========================================================
   P2.8 I1 v0.2 — Integrated Learner Pathway
   Extends the EXISTING dashboard My Pathway tab.
   ========================================================= */
.p28-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:12px}
.p28-head small,.p28-section-intro small{font-size:7px;color:#58b9d2;letter-spacing:.07em}
.p28-head h3,.p28-section-intro h3{margin:4px 0;font-size:18px}
.p28-head p,.p28-section-intro p{font-size:8px;color:#839ba5;line-height:1.5;margin:0}
.p28-progress-chip{min-width:145px;border:1px solid #2d5564;border-radius:12px;background:#0c2b39;padding:10px 12px}
.p28-progress-chip small,.p28-progress-chip span{display:block;font-size:6px;color:#768f99}.p28-progress-chip b{display:block;font-size:18px;margin:3px 0}
.p28-tabs{display:flex;gap:6px;margin:0 0 12px;flex-wrap:wrap}
.p28-tabs button{border:1px solid #2d5564;background:#0a2732;color:#8da5af;border-radius:8px;padding:8px 10px;font-size:7px;cursor:pointer}
.p28-tabs button.active{background:#123b48;color:#e2f5f7;border-color:#438094;font-weight:800}
.p28-panel{display:none}.p28-panel.active{display:block}
.p28-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px}
.p28-kpis article,.p28-card{border:1px solid #2d5564;border-radius:12px;background:#0c2b39;padding:13px}
.p28-kpis small,.p28-kpis span{display:block;font-size:6px;color:#768f99}.p28-kpis b{display:block;font-size:10px;margin:4px 0}
.p28-card{margin-bottom:10px}.p28-card p{font-size:8px;line-height:1.55;color:#8ea4ad}
.p28-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.p28-card-head small{font-size:6px;color:#748f99}.p28-card-head h3{font-size:12px;margin:3px 0}.p28-card-head>span{font-size:6px;color:#78939c}
.p28-roadmap{display:grid;grid-template-columns:1fr 24px 1fr 24px 1fr 24px 1fr;gap:5px;align-items:center}
.p28-roadmap>i{font-style:normal;text-align:center;color:#2fe0bf}
.p28-node{min-height:105px;border:1px solid #294f5d;border-radius:10px;padding:10px;display:flex;flex-direction:column}
.p28-node small,.p28-node span{display:block;font-size:6px;color:#718b96}.p28-node b{font-size:8px;line-height:1.35;margin:4px 0}.p28-node em{font-style:normal;font-size:6px;margin-top:auto;font-weight:800}
.p28-node.current{border-top:3px solid #55b7d0}.p28-node.current em{color:#55b7d0}
.p28-node.recommended{border-top:3px solid #2fe0bf}.p28-node.recommended em,.p28-good{color:#2fe0bf!important}
.p28-node.locked{opacity:.55}
.p28-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.p28-facts>div{border-top:1px solid #254956;padding:7px 0}.p28-facts small{display:block;font-size:6px;color:#728b95}.p28-facts b{font-size:8px}
.p28-next{display:grid;grid-template-columns:36px 1fr;gap:9px;align-items:start}.p28-next>div{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#123b48;color:#55bdd8}.p28-next p{margin:0}
.p28-continue{width:100%;margin-top:8px}
.p28-catalogue{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.p28-catalogue article{border:1px solid #2d5564;border-radius:11px;background:#0c2b39;padding:12px;min-height:130px}
.p28-catalogue article.current{border-top:3px solid #55b7d0}.p28-catalogue article.recommended{border-top:3px solid #2fe0bf}.p28-catalogue article.locked{opacity:.6}
.p28-catalogue small{font-size:6px;color:#748f99}.p28-catalogue h3{font-size:9px;line-height:1.35;margin:5px 0}.p28-catalogue p{font-size:7px;line-height:1.5;color:#829aa5}.p28-catalogue b{font-size:6px}
.p28-note{margin-top:9px;border:1px solid #594f2c;background:#292514;border-radius:8px;padding:8px;font-size:7px;color:#d1c27f}
.p28-bars{display:grid;gap:7px}.p28-bars>div{display:grid;grid-template-columns:1fr 28px;gap:5px}.p28-bars span,.p28-bars b{font-size:7px}.p28-bars i{grid-column:1/3;height:4px;background:#173b49;border-radius:10px;overflow:hidden}.p28-bars u{display:block;height:100%;background:#2fe0bf;text-decoration:none}
.p28-history{display:grid}.p28-history>div{display:grid;grid-template-columns:18px 1fr;gap:9px;min-height:55px;position:relative}.p28-history i{width:10px;height:10px;border-radius:50%;background:#31515b;margin-top:3px;z-index:2}.p28-history>div:not(:last-child):before{content:"";position:absolute;left:4px;top:13px;bottom:-3px;width:2px;background:#294b57}.p28-history .done i{background:#2fe0bf}.p28-history .active i{background:#55b7d0}.p28-history .future{opacity:.55}.p28-history small,.p28-history span{display:block;font-size:6px;color:#748f99}.p28-history b{display:block;font-size:8px;margin:3px 0}
@media(max-width:1050px){.p28-roadmap{grid-template-columns:1fr}.p28-roadmap>i{transform:rotate(90deg)}.p28-catalogue{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.p28-kpis,.p28-grid{grid-template-columns:1fr 1fr}.p28-head{flex-direction:column}.p28-catalogue{grid-template-columns:1fr}}

/* =========================================================
   P2.8 I1 v0.3 — Readability / Typography Upgrade
   Targeted font-size increase only. Layout preserved.
   ========================================================= */
.p28-head small,
.p28-section-intro small{font-size:10px !important;letter-spacing:.08em}
.p28-head h3,
.p28-section-intro h3{font-size:22px !important;line-height:1.25 !important}
.p28-head p,
.p28-section-intro p{font-size:12px !important;line-height:1.6 !important}

.p28-progress-chip{min-width:175px !important;padding:13px 15px !important}
.p28-progress-chip small,
.p28-progress-chip span{font-size:9px !important;line-height:1.4 !important}
.p28-progress-chip b{font-size:24px !important;line-height:1.15 !important}

.p28-tabs button{font-size:11px !important;padding:10px 13px !important}

.p28-kpis small,
.p28-kpis span{font-size:9px !important;line-height:1.4 !important}
.p28-kpis b{font-size:15px !important;line-height:1.3 !important;margin:6px 0 !important}

.p28-card{padding:16px !important}
.p28-card p{font-size:12px !important;line-height:1.65 !important}
.p28-card-head small{font-size:9px !important}
.p28-card-head h3{font-size:16px !important;line-height:1.3 !important}
.p28-card-head>span{font-size:9px !important;line-height:1.4 !important}

.p28-node{min-height:132px !important;padding:12px !important}
.p28-node small,
.p28-node span{font-size:9px !important;line-height:1.45 !important}
.p28-node b{font-size:12px !important;line-height:1.4 !important;margin:6px 0 !important}
.p28-node em{font-size:9px !important}

.p28-facts>div{padding:9px 0 !important}
.p28-facts small{font-size:9px !important}
.p28-facts b{font-size:11px !important;line-height:1.45 !important}
.p28-next p{font-size:11px !important;line-height:1.6 !important}
.p28-continue{font-size:11px !important;padding:11px 14px !important}

.p28-catalogue article{min-height:165px !important;padding:14px !important}
.p28-catalogue small{font-size:9px !important}
.p28-catalogue h3{font-size:13px !important;line-height:1.4 !important;margin:7px 0 !important}
.p28-catalogue p{font-size:11px !important;line-height:1.6 !important}
.p28-catalogue b{font-size:9px !important;line-height:1.4 !important}
.p28-note{font-size:10px !important;line-height:1.55 !important;padding:10px !important}

.p28-bars span,
.p28-bars b{font-size:10px !important}
.p28-bars i{height:6px !important}

.p28-history>div{min-height:66px !important}
.p28-history small,
.p28-history span{font-size:9px !important;line-height:1.45 !important}
.p28-history b{font-size:12px !important;line-height:1.4 !important;margin:4px 0 !important}

@media(max-width:900px){
  .p28-head h3,
  .p28-section-intro h3{font-size:20px !important}
  .p28-card p,
  .p28-catalogue p{font-size:11px !important}
}

/* =========================================================
   P2.8 I2 v0.1 — Evidence-Based Progression Engine
   Readability standard: interactive/detail text >= 10–12px.
   ========================================================= */
.p28-engine-card{border-top:3px solid #55b7d0!important}
.p28-status-chip{font-size:10px!important;font-weight:800;padding:6px 9px;border-radius:999px;border:1px solid #45616b}
.p28-status-chip.good{color:#50dfb9;border-color:#287b68;background:#0b382f}
.p28-status-chip.caution{color:#e9c45f;border-color:#74602c;background:#302a14}
.p28-status-chip.danger{color:#ef8178;border-color:#7c3c38;background:#351a19}
.p28-engine-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}
.p28-decision{border:1px solid #28505d;border-radius:10px;padding:13px;background:#092631}
.p28-decision small{font-size:10px;color:#78949e}.p28-decision b{display:block;font-size:17px;margin:5px 0}.p28-decision p{font-size:12px!important;margin:0}
.p28-rule-list{display:grid;gap:6px}.p28-rule-list>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #244751;padding:8px 3px}
.p28-rule-list span,.p28-rule-list b{font-size:11px;line-height:1.4}.p28-rule-list span{color:#91a8b0}
.p28-engine-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:12px;border-top:1px solid #264a55;padding-top:11px}
.p28-engine-footer small,.p28-engine-footer span{display:block}.p28-engine-footer small{font-size:9px;color:#78949e}.p28-engine-footer span{font-size:11px;margin-top:3px}
.p28-evaluate{font-size:11px;padding:9px 12px;border:1px solid #397286;border-radius:8px;background:#123b48;color:#e2f5f7;cursor:pointer;font-weight:700}
.p28-policy{display:grid;gap:8px}.p28-policy>div{display:grid;grid-template-columns:30px 1fr;gap:9px;align-items:start;border-bottom:1px solid #244751;padding:7px 0}
.p28-policy i{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#123b48;color:#55bdd8;font-style:normal;font-size:11px;font-weight:800}
.p28-policy p{margin:0!important}.p28-policy b{display:block;font-size:12px}.p28-policy span{display:block;font-size:11px;color:#8ea4ad;margin-top:3px;line-height:1.5}
.p28-decision-types{display:grid;grid-template-columns:1fr 1fr;gap:8px}.p28-decision-types>div{border:1px solid #2b505c;border-radius:9px;padding:11px}
.p28-decision-types b{display:block;font-size:13px}.p28-decision-types span{display:block;font-size:11px;line-height:1.45;color:#8da4ad;margin-top:4px}
.p28-decision-types .good{border-top:3px solid #50dfb9}.p28-decision-types .info{border-top:3px solid #55b7d0}.p28-decision-types .warn{border-top:3px solid #e9c45f}.p28-decision-types .lock{opacity:.7}
.p28-audit-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.p28-audit-row>div{border:1px solid #294e5a;border-radius:9px;padding:10px}
.p28-audit-row small{display:block;font-size:9px;color:#78949e}.p28-audit-row b{display:block;font-size:11px;margin-top:4px}
@media(max-width:900px){.p28-engine-grid,.p28-audit-row{grid-template-columns:1fr}.p28-engine-footer{align-items:flex-start;flex-direction:column}}

/* P2.8 I2 v0.2 — functional feedback */
.p28-last-evaluated{
  display:block;
  margin-top:5px;
  font-size:10px!important;
  color:#71a8b7;
  line-height:1.4;
}
.p28-evaluate.p28-evaluated{
  border-color:#2fe0bf!important;
  color:#2fe0bf!important;
  box-shadow:0 0 0 2px rgba(47,224,191,.08) inset;
}
#p28-rules.p28-panel.active{display:block!important}

/* =========================================================
   P2.8 I3 v0.1 — AI Career & Capability Pathway Guidance
   Typography standard: readable detail text, restrained headers.
   ========================================================= */
.p28-section-intro h3{font-size:19px!important}
.p28-card-head h3{font-size:15px!important}
.p28-guidance-evidence{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0 12px}
.p28-guidance-evidence>div{border:1px solid #2d5564;background:#092631;border-radius:10px;padding:11px;text-align:center}
.p28-guidance-evidence b{display:block;font-size:17px}
.p28-guidance-evidence span{display:block;font-size:10px;color:#8ea4ad;line-height:1.4;margin-top:3px}
.p28-guidance-steps{display:grid;gap:8px}
.p28-guidance-steps>div{display:grid;grid-template-columns:32px 1fr;gap:9px;align-items:start;border-bottom:1px solid #254956;padding:7px 0}
.p28-guidance-steps i{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#123b48;color:#55bdd8;font-style:normal;font-size:11px;font-weight:800}
.p28-guidance-steps .current i{background:#0b382f;color:#50dfb9}
.p28-guidance-steps p{margin:0!important}
.p28-guidance-steps b{display:block;font-size:12px}
.p28-guidance-steps span{display:block;font-size:11px;line-height:1.5;color:#8da4ad;margin-top:3px}
.p28-role-map{display:grid;gap:8px}
.p28-role-map>div{border:1px solid #2d5564;border-radius:9px;padding:10px;background:#092631}
.p28-role-map b{display:block;font-size:12px}
.p28-role-map span{display:block;font-size:11px;line-height:1.5;color:#8da4ad;margin-top:4px}
.p28-guidance-prompts{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}
.p28-guidance-prompts button{font-size:11px;line-height:1.35;padding:9px 11px;border:1px solid #397286;border-radius:8px;background:#123b48;color:#e2f5f7;cursor:pointer}
.p28-guidance-prompts button:hover{border-color:#55b7d0}
.p28-guide-answer{border:1px solid #2d5564;background:#092631;border-radius:10px;padding:12px;font-size:12px;line-height:1.6;color:#9fb3ba;min-height:52px}
@media(max-width:900px){.p28-guidance-evidence{grid-template-columns:1fr 1fr}}

/* =========================================================
   P2.8 I3 v0.2 — Free-form learner Q&A
   ========================================================= */
.p28-freeform{
  margin:12px 0 10px;
  border-top:1px solid #294e5a;
  padding-top:12px;
}
.p28-freeform label{
  display:block;
  font-size:11px;
  font-weight:700;
  margin-bottom:7px;
  color:#d7edf1;
}
.p28-freeform-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
}
.p28-freeform input{
  width:100%;
  min-width:0;
  border:1px solid #397286;
  border-radius:8px;
  background:#092631;
  color:#e6f6f8;
  padding:10px 11px;
  font-size:11px;
  line-height:1.4;
  outline:none;
}
.p28-freeform input:focus{
  border-color:#55b7d0;
  box-shadow:0 0 0 2px rgba(85,183,208,.08);
}
.p28-freeform button{
  border:1px solid #397286;
  border-radius:8px;
  background:#123b48;
  color:#e2f5f7;
  padding:10px 14px;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
}
.p28-freeform small{
  display:block;
  margin-top:6px;
  font-size:10px;
  line-height:1.45;
  color:#78949e;
}
.p28-guide-answer{
  font-size:12px!important;
}
@media(max-width:700px){
  .p28-freeform-row{grid-template-columns:1fr}
}

/* =========================================================
   P2.8 I4 v0.1 — Program Completion & Capability Passport
   Readability: legible detail/control text; restrained headers.
   ========================================================= */
#tab-passport>h3{font-size:20px!important}
.p28i4-passport-summary{margin-top:16px;border:1px solid #294f5b;border-radius:12px;padding:14px;background:#071f29}
.p28i4-passport-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}
.p28i4-passport-head small,.p28i4-passport-footer small{font-size:10px;color:#78949e}
.p28i4-passport-head h3{font-size:17px!important;margin:4px 0 5px}
.p28i4-passport-head p{font-size:12px;line-height:1.55;color:#94aab2;margin:0;max-width:760px}
.p28i4-passport-head button{font-size:11px!important;white-space:nowrap}
.p28i4-demonstrated-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.p28i4-demonstrated-grid article{border:1px solid #2d5564;border-radius:10px;padding:12px;background:#092631}
.p28i4-demonstrated-grid h4{font-size:13px;margin:7px 0 5px}
.p28i4-demonstrated-grid p{font-size:11px;line-height:1.5;color:#8fa6ae;margin:0}
.p28i4-evidence-state{display:inline-flex;font-size:9px;font-weight:800;letter-spacing:.04em;padding:4px 7px;border-radius:999px;border:1px solid #45616b}
.p28i4-evidence-state.demonstrated{color:#50dfb9;border-color:#287b68;background:#0b382f}
.p28i4-evidence-state.developing{color:#e9c45f;border-color:#74602c;background:#302a14}
.p28i4-evidence-state.pending{color:#8fb3bd;border-color:#45616b;background:#102c35}
.p28i4-passport-footer{display:grid;grid-template-columns:2fr .8fr 1fr;gap:8px;margin-top:10px}
.p28i4-passport-footer>div{border-top:1px solid #294e5a;padding-top:9px}
.p28i4-passport-footer b{display:block;font-size:11px;margin-top:4px}

.p28i4-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:11px 0}
.p28i4-kpis article{border:1px solid #294f5b;background:#092631;border-radius:10px;padding:11px}
.p28i4-kpis small{display:block;font-size:9px;color:#78949e}
.p28i4-kpis b{display:block;font-size:14px;margin:5px 0 3px}
.p28i4-kpis span{display:block;font-size:10px;color:#8fa6ae;line-height:1.4}
.p28i4-completion-card{border-top:3px solid #55b7d0!important}
.p28i4-completion-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}
.p28i4-completion-grid>div:first-child{border:1px solid #28505d;border-radius:10px;padding:13px;background:#092631}
.p28i4-completion-grid small{font-size:10px;color:#78949e}
.p28i4-completion-grid b{display:block;font-size:15px;margin:5px 0}
.p28i4-completion-grid p{font-size:12px;line-height:1.55;margin:0;color:#9eb2b9}
.p28i4-checklist{display:grid;gap:5px}
.p28i4-checklist>div{display:flex;justify-content:space-between;gap:12px;padding:8px 3px;border-bottom:1px solid #244751}
.p28i4-checklist span,.p28i4-checklist b{font-size:11px;line-height:1.4}
.p28i4-checklist span{color:#91a8b0}
.p28i4-completion-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;border-top:1px solid #264a55;padding-top:11px}
.p28i4-completion-actions small{display:block;font-size:9px;color:#78949e}
.p28i4-completion-actions span{display:block;font-size:10px;color:#78a4b0;margin-top:4px}
.p28i4-completion-actions button{font-size:11px!important}

.p28i4-program-map{display:grid;gap:7px}
.p28i4-program-map>div{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #2b505c;border-radius:9px;padding:9px 11px}
.p28i4-program-map i{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#123b48;color:#55bdd8;font-style:normal;font-size:10px;font-weight:800}
.p28i4-program-map p{margin:0!important}
.p28i4-program-map p b{display:block;font-size:11px}
.p28i4-program-map p span{display:block;font-size:11px;color:#8ea4ad;margin-top:2px}
.p28i4-program-map em{font-style:normal;font-size:10px;font-weight:700}
.p28i4-program-map .current{border-left:3px solid #55b7d0}
.p28i4-program-map .recommended{border-left:3px solid #e9c45f}
.p28i4-program-map .completed{border-left:3px solid #50dfb9}
.p28i4-program-map .locked{opacity:.66}

.p28i4-criteria{display:grid;gap:7px}
.p28i4-criteria>div{display:grid;grid-template-columns:31px 1fr;gap:9px;align-items:start;padding:6px 0;border-bottom:1px solid #244751}
.p28i4-criteria i{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#123b48;color:#55bdd8;font-style:normal;font-size:10px;font-weight:800}
.p28i4-criteria p{margin:0!important}
.p28i4-criteria b{display:block;font-size:12px}
.p28i4-criteria span{display:block;font-size:11px;line-height:1.45;color:#8da4ad;margin-top:3px}
.p28i4-passport-link{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:13px;border-top:1px solid #294e5a;padding-top:11px}
.p28i4-passport-link span{font-size:11px;color:#91a8b0}
.p28i4-passport-link button{font-size:11px!important}

.p28i4-exit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.p28i4-exit-grid>div{border:1px solid #2d5564;background:#092631;border-radius:9px;padding:10px}
.p28i4-exit-grid small{display:block;font-size:9px;color:#78949e}
.p28i4-exit-grid b{display:block;font-size:13px;margin:5px 0 3px}
.p28i4-exit-grid span{display:block;font-size:10px;color:#8da4ad;line-height:1.4}
.p28i4-governance-note{font-size:10px!important;line-height:1.5!important;color:#78949e!important;margin:10px 0 0!important}
@media(max-width:900px){
  .p28i4-kpis,.p28i4-exit-grid,.p28i4-demonstrated-grid,.p28i4-passport-footer{grid-template-columns:1fr 1fr}
  .p28i4-completion-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
  .p28i4-kpis,.p28i4-exit-grid,.p28i4-demonstrated-grid,.p28i4-passport-footer{grid-template-columns:1fr}
  .p28i4-passport-head,.p28i4-completion-actions,.p28i4-passport-link{align-items:flex-start;flex-direction:column}
  .p28i4-program-map>div{grid-template-columns:36px 1fr}
  .p28i4-program-map em{grid-column:2}
}

/* =========================================================
   P2.9 I1 v0.1 — End-to-End QA & Release Readiness Console
   ========================================================= */
.p29-intro h2{font-size:19px!important}.p29-intro p{font-size:12px!important;line-height:1.55}
.p29-release-banner{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid #2f6473;border-left:4px solid #55b7d0;border-radius:11px;background:#092631;padding:13px 14px;margin-bottom:10px}
.p29-release-banner small{display:block;font-size:9px;color:#78949e}.p29-release-banner b{display:block;font-size:15px;margin:4px 0}.p29-release-banner span{display:block;font-size:11px;line-height:1.45;color:#93aab2;max-width:820px}
.p29-release-banner button,#p29RunChecks{font-size:11px;border:1px solid #397286;border-radius:8px;background:#123b48;color:#e2f5f7;padding:9px 12px;cursor:pointer;white-space:nowrap;font-weight:700}
.p29-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px}.p29-kpis article{border:1px solid #294f5b;background:#092631;border-radius:9px;padding:10px}.p29-kpis small{display:block;font-size:9px;color:#78949e}.p29-kpis b{display:block;font-size:14px;margin:4px 0 2px}.p29-kpis span{display:block;font-size:10px;color:#8da4ad;line-height:1.35}
.p29-grid{margin-top:10px}.p29-grid h3,.p29-journey-card h3{font-size:14px!important}
.p29-check-list{display:grid;gap:3px}.p29-check-list>div{display:flex;justify-content:space-between;gap:12px;padding:8px 2px;border-bottom:1px solid #244751}.p29-check-list span,.p29-check-list b{font-size:11px}.p29-check-list span{color:#92a8b0}.p29-state{color:#e9c45f}.p29-state.good{color:#50dfb9}.p29-state.warn{color:#e9c45f}.p29-state.bad{color:#ef8178}
.p29-gates{display:grid;gap:6px}.p29-gates>div{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:9px;align-items:start;padding:8px;border:1px solid #2b505c;border-radius:8px}.p29-gates i{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#123b48;color:#55bdd8;font-style:normal;font-size:9px;font-weight:800}.p29-gates p{margin:0}.p29-gates b{display:block;font-size:11px}.p29-gates span{display:block;font-size:10px;line-height:1.4;color:#8da4ad;margin-top:2px}.p29-gates em{font-style:normal;font-size:9px;font-weight:800}.p29-gates .block{border-left:3px solid #ef8178}.p29-gates .watch{border-left:3px solid #e9c45f}
.p29-journey-card{margin-top:10px}.p29-helper{font-size:10px!important;color:#78949e!important;line-height:1.45!important}.p29-qa-list{display:grid;gap:6px;margin-top:9px}.p29-qa-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #2b505c;border-radius:8px;padding:9px 10px}.p29-qa-list p{margin:0}.p29-qa-list b{display:block;font-size:11px}.p29-qa-list span{display:block;font-size:10px;color:#8da4ad;margin-top:3px;line-height:1.4}.p29-qa-list button{font-size:10px;border:1px solid #397286;border-radius:7px;background:#123b48;color:#e2f5f7;padding:8px 10px;cursor:pointer;min-width:100px}.p29-qa-list>div.verified{border-left:3px solid #50dfb9}.p29-qa-list>div.verified button{color:#50dfb9;border-color:#287b68;background:#0b382f}
.p29-evidence-map{display:grid;grid-template-columns:1fr 1fr;gap:7px}.p29-evidence-map>div{border:1px solid #2d5564;border-radius:8px;background:#092631;padding:9px}.p29-evidence-map b{display:block;font-size:11px}.p29-evidence-map span{display:block;font-size:10px;line-height:1.4;color:#8da4ad;margin-top:3px}.p29-decision-box strong{display:block;font-size:12px;margin-top:7px}.p29-decision-box strong:first-child{color:#50dfb9;margin-top:0}.p29-decision-box strong:nth-of-type(2){color:#e9c45f}.p29-decision-box p{font-size:11px!important;line-height:1.5!important;color:#8fa6ae!important;margin:3px 0 8px!important}
@media(max-width:900px){.p29-kpis{grid-template-columns:1fr 1fr}.p29-release-banner{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.p29-kpis,.p29-evidence-map{grid-template-columns:1fr}.p29-qa-list>div{grid-template-columns:1fr}}

/* P2.9 I2 v0.1 */
.p29i2-release-banner{display:flex;justify-content:space-between;gap:16px;align-items:center;border:1px solid #2c5968;border-left:3px solid #55b7d0;border-radius:12px;background:#082630;padding:13px 14px;margin:12px 0}
.p29i2-release-banner small{display:block;font-size:9px;color:#78949e}.p29i2-release-banner b{display:block;font-size:15px;margin:4px 0}.p29i2-release-banner span{display:block;font-size:11px;line-height:1.45;color:#93aab2;max-width:820px}
.p29i2-release-banner button{font-size:11px;padding:9px 12px;border:1px solid #397286;border-radius:8px;background:#123b48;color:#e2f5f7;font-weight:700;cursor:pointer;white-space:nowrap}
.p29i2-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.p29i2-kpis article{border:1px solid #294f5b;background:#092631;border-radius:10px;padding:10px}.p29i2-kpis small{display:block;font-size:9px;color:#78949e}.p29i2-kpis b{display:block;font-size:14px;margin:5px 0 3px}.p29i2-kpis span{display:block;font-size:10px;line-height:1.4;color:#8ea4ad}
.p29i2-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}.p29i2-card{padding:13px!important}.p29i2-card .card-head h3{font-size:15px!important}
.p29i2-matrix,.p29i2-gates{display:grid;gap:6px}.p29i2-matrix>div,.p29i2-gates>div{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:9px;align-items:center;padding:8px 0;border-bottom:1px solid #244751}
.p29i2-matrix i{width:9px;height:9px;border-radius:50%;display:block}.p29i2-matrix i.ready{background:#50dfb9}.p29i2-matrix i.pending{background:#e9c45f}
.p29i2-matrix p,.p29i2-gates p{margin:0!important}.p29i2-matrix b,.p29i2-gates b{display:block;font-size:11px}.p29i2-matrix span,.p29i2-gates span{display:block;font-size:10px;color:#8ea4ad;line-height:1.4;margin-top:2px}.p29i2-matrix em,.p29i2-gates em{font-style:normal;font-size:10px;font-weight:700;white-space:nowrap}
.p29i2-checks{display:grid;gap:5px}.p29i2-checks>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #244751}.p29i2-checks span,.p29i2-checks b{font-size:11px}.p29i2-checks span{color:#91a8b0}.p29i2-checks.compact>div{padding:6px 0}
.p29i2-note{font-size:10px;line-height:1.5;color:#78949e;margin-top:9px;border-top:1px solid #244751;padding-top:8px}.p29i2-note.critical{color:#c7a86a}
.p29i2-contract{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:10px}.p29i2-contract>div{border:1px solid #2d5564;border-radius:9px;padding:9px;background:#092631}.p29i2-contract small{display:block;font-size:9px;color:#78949e}.p29i2-contract b{display:block;font-size:12px;margin:4px 0 2px}.p29i2-contract span{display:block;font-size:10px;line-height:1.4;color:#8ea4ad}
.p29i2-ai-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:7px}.p29i2-ai-flow>div{border:1px solid #2d5564;border-radius:9px;padding:9px;background:#092631}.p29i2-ai-flow b{display:block;font-size:11px}.p29i2-ai-flow span{display:block;font-size:10px;color:#8ea4ad;line-height:1.4;margin-top:3px}.p29i2-ai-flow i{font-style:normal;color:#55bdd8}
.p29i2-gates>div{grid-template-columns:36px minmax(0,1fr) auto}.p29i2-gate{width:30px;height:30px;border-radius:50%;display:grid!important;place-items:center;font-size:10px!important;font-weight:800;margin:0!important}.p29i2-gate.ready{background:#0b382f;color:#50dfb9}.p29i2-gate.pending{background:#302a14;color:#e9c45f}.p29i2-gate.caution{background:#35281a;color:#e8b669}
.p29i2-decision-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.p29i2-decision-grid>div{border:1px solid #2d5564;border-radius:9px;padding:10px;background:#092631}.p29i2-decision-grid>div.ready{border-top:3px solid #50dfb9}.p29i2-decision-grid>div.caution{border-top:3px solid #e9c45f}.p29i2-decision-grid small{display:block;font-size:9px;color:#78949e}.p29i2-decision-grid b{display:block;font-size:13px;margin:5px 0 3px}.p29i2-decision-grid span{display:block;font-size:10px;line-height:1.4;color:#8ea4ad}
@media(max-width:900px){.p29i2-kpis,.p29i2-decision-grid{grid-template-columns:1fr 1fr}.p29i2-grid{grid-template-columns:1fr}.p29i2-contract{grid-template-columns:1fr}.p29i2-ai-flow{grid-template-columns:1fr}.p29i2-ai-flow i{display:none}}
@media(max-width:650px){.p29i2-kpis,.p29i2-decision-grid{grid-template-columns:1fr}.p29i2-release-banner{align-items:flex-start;flex-direction:column}}

/* P2.9 I5 v0.4 — isolated server evidence status */
.evidence-sync{display:inline-flex;align-items:center;gap:5px;margin-top:5px;font-size:10px;line-height:1.3;font-weight:700}
.evidence-sync::before{content:"";width:7px;height:7px;border-radius:50%;background:#d2a94f}
.evidence-sync.server{color:#57d8af}.evidence-sync.server::before{background:#57d8af}
.evidence-sync.pending{color:#d2a94f}
.evidence-sync.error{color:#ee8b80}.evidence-sync.error::before{background:#ee8b80}
