:root{
  --bg:#07101b;--surface:#0c1724;--surface-2:#101e2d;--surface-3:#142537;--line:#22364a;
  --text:#edf6f8;--muted:#91a7b8;--mint:#64e3c0;--mint-2:#2fbf9b;--blue:#6aa8ff;--amber:#ffca6b;
  --red:#ff747c;--violet:#b59cff;--shadow:0 24px 60px rgba(0,0,0,.28);--radius:18px;--radius-sm:12px;
}
*{box-sizing:border-box}html{background:var(--bg);color-scheme:dark}body{margin:0;min-height:100vh;background:
  radial-gradient(circle at 12% 8%,rgba(52,118,174,.16),transparent 28rem),
  radial-gradient(circle at 88% 18%,rgba(47,191,155,.09),transparent 24rem),var(--bg);
  color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,select{font:inherit}.topbar{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,58px);border-bottom:1px solid rgba(139,171,192,.16);background:rgba(7,16,27,.82);backdrop-filter:blur(16px);position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:center;gap:12px;border:0;background:none;color:var(--text);padding:6px 0;cursor:pointer;text-align:left}.brand strong{display:block;font-size:16px;letter-spacing:.02em}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.brand-mark{width:34px;height:34px;border:1px solid rgba(100,227,192,.35);border-radius:10px;display:grid;grid-template-columns:repeat(3,1fr);align-items:end;gap:3px;padding:7px;background:linear-gradient(145deg,rgba(100,227,192,.13),rgba(106,168,255,.05))}.brand-mark i{display:block;background:var(--mint);border-radius:2px 2px 0 0}.brand-mark i:nth-child(1){height:38%}.brand-mark i:nth-child(2){height:70%}.brand-mark i:nth-child(3){height:100%}
.top-actions{display:flex;align-items:center;gap:9px}.language-select,.ghost-btn,.secondary-btn,.primary-btn{border-radius:10px;border:1px solid var(--line);min-height:40px;padding:0 14px;color:var(--text);background:rgba(15,29,43,.75)}.ghost-btn,.secondary-btn,.primary-btn{cursor:pointer}.ghost-btn:hover,.secondary-btn:hover{border-color:#3d5870;background:var(--surface-3)}.primary-btn{border-color:rgba(100,227,192,.45);background:linear-gradient(135deg,var(--mint-2),#1f8f86);color:#031511;font-weight:800;box-shadow:0 10px 25px rgba(47,191,155,.13)}.primary-btn:hover{filter:brightness(1.06)}.primary-btn:disabled{opacity:.38;cursor:not-allowed;box-shadow:none}.language-select{padding:0 10px}
.app-shell{width:min(1460px,calc(100% - 36px));margin:0 auto;padding:clamp(28px,5vw,64px) 0 70px}.eyebrow{display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800;color:var(--mint)}.eyebrow:before{content:"";width:20px;height:1px;background:currentColor}.hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:34px;align-items:stretch;min-height:650px}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:34px 0}.hero h1{font-size:clamp(50px,7vw,92px);line-height:.91;letter-spacing:-.055em;margin:22px 0 24px;max-width:850px}.hero h1 .accent{color:var(--mint)}.hero-copy>p{font-size:18px;line-height:1.65;color:#b6c8d4;max-width:760px}.hero-actions,.form-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.hero-panel{border:1px solid rgba(123,157,181,.2);border-radius:26px;background:linear-gradient(160deg,rgba(16,30,45,.9),rgba(8,20,32,.72));box-shadow:var(--shadow);padding:22px;display:flex;flex-direction:column;gap:12px;justify-content:center}.terminal-head{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px;padding:2px 4px 10px}.live-dot{display:inline-flex;align-items:center;gap:7px}.live-dot:before{content:"";width:7px;height:7px;background:var(--mint);border-radius:50%;box-shadow:0 0 0 5px rgba(100,227,192,.08)}.signal-card{padding:18px;border:1px solid rgba(110,145,169,.14);border-radius:14px;background:rgba(6,16,26,.58)}.signal-card .label{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted)}.signal-card strong{display:block;font-size:27px;margin-top:7px;letter-spacing:-.03em}.signal-card .trend{font-size:12px;color:var(--amber)}.mini-chart{height:34px;margin-top:12px;display:flex;align-items:end;gap:4px}.mini-chart i{display:block;flex:1;border-radius:3px 3px 0 0;background:linear-gradient(to top,rgba(100,227,192,.24),rgba(100,227,192,.8))}.hero-note{font-size:12px;color:var(--muted);line-height:1.5;padding:12px 4px 0}
.panel{border:1px solid rgba(123,157,181,.19);border-radius:var(--radius);background:linear-gradient(160deg,rgba(14,27,41,.95),rgba(9,20,32,.87));box-shadow:0 16px 45px rgba(0,0,0,.2);padding:clamp(20px,3vw,34px)}.form-panel{max-width:620px;margin:48px auto}.form-panel h2,.section-head h2{font-size:clamp(30px,4vw,48px);letter-spacing:-.04em;margin:10px 0}.workspace-intro{color:var(--muted);line-height:1.65}.field{display:grid;gap:8px;margin-top:18px}.field label{font-size:12px;color:#b6c5d1;font-weight:700}.field input,.field select{width:100%;height:48px;border:1px solid var(--line);border-radius:10px;background:#081522;color:var(--text);padding:0 13px;outline:none}.field input:focus,.field select:focus{border-color:var(--mint-2);box-shadow:0 0 0 3px rgba(47,191,155,.1)}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.64fr);gap:20px}.company-title{display:flex;justify-content:space-between;gap:22px;align-items:flex-start}.company-title h2{font-size:clamp(32px,4vw,52px);letter-spacing:-.045em;margin:10px 0 8px}.company-title p{margin:0;color:var(--muted)}.cohort-chip{border:1px solid rgba(100,227,192,.25);background:rgba(100,227,192,.07);padding:10px 13px;border-radius:12px;min-width:130px}.cohort-chip span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.cohort-chip strong{display:block;color:var(--mint);font-size:13px;margin-top:4px}.fact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0}.fact{border:1px solid rgba(114,148,170,.13);background:rgba(6,16,26,.48);border-radius:11px;padding:13px;color:#b9cad5;font-size:12px;line-height:1.45}.roadmap-title{margin:28px 0 12px}.mission-list{display:grid;gap:9px}.mission-card{width:100%;display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;text-align:left;border:1px solid rgba(113,148,171,.14);border-radius:13px;background:rgba(5,16,26,.5);color:var(--text);padding:14px;transition:.16s ease}.mission-card.available{cursor:pointer}.mission-card.available:hover{transform:translateX(3px);border-color:rgba(100,227,192,.32);background:rgba(16,34,48,.75)}.mission-number{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:11px;color:var(--mint);font-weight:800}.mission-card h4{margin:0 0 4px;font-size:14px}.mission-card p{margin:0;color:var(--muted);font-size:12px}.status{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;padding:7px 9px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.status.ready{color:var(--mint);border-color:rgba(100,227,192,.25)}.status.done{color:#071611;background:var(--mint);border-color:var(--mint)}.pulse-panel{height:max-content;position:sticky;top:94px}.pulse-panel h3{font-size:22px;margin:8px 0 5px}.indicator-grid{display:grid;gap:9px;margin-top:18px}.indicator{padding:13px 14px;border:1px solid rgba(113,148,171,.13);background:rgba(5,16,26,.45);border-radius:11px}.indicator .row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.indicator span{font-size:11px;color:var(--muted)}.indicator strong{font-size:17px}.indicator .bar{height:4px;background:#162b3d;border-radius:5px;margin-top:10px;overflow:hidden}.indicator .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--mint));border-radius:5px}.indicator.risk .bar i,.indicator.waste .bar i{background:linear-gradient(90deg,var(--amber),var(--red))}.insight{border-left:2px solid var(--mint);padding:2px 0 2px 15px;margin-top:20px}.insight strong{color:var(--mint);font-size:11px;text-transform:uppercase;letter-spacing:.09em}.insight h4{margin:7px 0 5px}.insight p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}
.mission-shell{max-width:1240px;margin:0 auto}.mission-header{margin-bottom:20px}.mission-header h2{font-size:clamp(36px,5vw,64px);letter-spacing:-.05em;margin:10px 0}.mission-header>p{color:#adc0cd;line-height:1.65;max-width:960px}.mission-toolbar{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.step-track{display:flex;align-items:center;gap:6px}.step-track span{width:28px;height:4px;background:#1a3144;border-radius:10px}.step-track span.active{background:var(--mint)}.workspace{border:1px solid rgba(123,157,181,.19);border-radius:20px;background:linear-gradient(160deg,rgba(14,27,41,.95),rgba(8,19,30,.91));padding:clamp(20px,3vw,34px)}.workspace h3{font-size:24px;margin:0 0 7px}.stage-label{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.counter{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--mint);border:1px solid rgba(100,227,192,.22);padding:7px 10px;border-radius:999px}.evidence-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.evidence-card{min-height:196px;border:1px solid rgba(114,149,172,.16);border-radius:13px;background:#091724;color:var(--text);padding:14px;text-align:left;cursor:pointer;display:flex;flex-direction:column;transition:.15s ease}.evidence-card:hover{border-color:#3e637a;transform:translateY(-2px)}.evidence-card.viewed{border-color:rgba(100,227,192,.32);background:linear-gradient(150deg,rgba(13,39,47,.85),rgba(9,23,36,.93))}.evidence-source{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--mint)}.evidence-card h4{font-size:14px;line-height:1.35;margin:10px 0}.evidence-signal{margin-top:auto;font-weight:800;font-size:18px}.evidence-detail{display:none;margin-top:10px;padding-top:10px;border-top:1px solid rgba(122,154,174,.13);color:#a9bdc9;font-size:11px;line-height:1.55}.evidence-card.open .evidence-detail{display:block}.evidence-tag{align-self:flex-start;font-size:9px;border:1px solid var(--line);padding:4px 6px;border-radius:999px;color:var(--muted);margin-top:8px}.metric-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.metric-choice{border:1px solid rgba(113,148,171,.16);border-radius:14px;background:#091724;color:var(--text);padding:18px;text-align:left;cursor:pointer}.metric-choice:hover,.metric-choice.selected{border-color:rgba(100,227,192,.5);background:rgba(15,43,50,.72)}.metric-choice h4{margin:0 0 8px}.metric-choice p{margin:0;color:var(--muted);line-height:1.55;font-size:12px}.priority-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.priority-card{position:relative;border:1px solid rgba(113,148,171,.16);border-radius:13px;background:#091724;color:var(--text);padding:16px 16px 16px 54px;text-align:left;cursor:pointer;min-height:92px}.priority-card:hover{border-color:#3e637a}.priority-card.selected{border-color:rgba(100,227,192,.48);background:rgba(13,42,46,.74)}.rank-badge{position:absolute;left:14px;top:14px;width:28px;height:28px;border-radius:9px;border:1px solid var(--line);display:grid;place-items:center;color:var(--muted);font-size:11px}.priority-card.selected .rank-badge{background:var(--mint);border-color:var(--mint);color:#061711;font-weight:900}.priority-card h4{margin:0 0 5px;font-size:13px}.priority-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.score-card{border:1px solid rgba(100,227,192,.24);border-radius:16px;background:linear-gradient(145deg,rgba(13,42,46,.72),rgba(8,22,34,.9));padding:22px}.score{font-size:64px;letter-spacing:-.06em;line-height:1;color:var(--mint);font-weight:900}.score small{font-size:18px;color:var(--muted)}.brief-card{border:1px solid rgba(113,148,171,.16);border-radius:16px;background:#091724;padding:22px}.brief-card h4{margin-top:0}.brief-list{display:grid;gap:8px;margin-top:14px}.brief-list div{display:flex;justify-content:space-between;gap:18px;border-top:1px solid rgba(113,148,171,.13);padding-top:8px;color:var(--muted);font-size:12px}.brief-list strong{color:var(--text);text-align:right}.feedback{margin-top:16px;padding:15px;border-radius:12px;background:rgba(106,168,255,.08);border:1px solid rgba(106,168,255,.18);color:#b8cbe0;line-height:1.6;font-size:12px}
.instructor-shell{display:grid;gap:18px}.instructor-head{display:flex;justify-content:space-between;gap:16px;align-items:end}.instructor-head h2{font-size:40px;margin:8px 0 0}.cohort-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cohort-card{border:1px solid rgba(113,148,171,.16);border-radius:14px;background:#091724;padding:17px;cursor:pointer;color:var(--text);text-align:left}.cohort-card:hover{border-color:rgba(100,227,192,.34)}.cohort-card h4{margin:6px 0}.cohort-card p{color:var(--muted);font-size:12px}.table-wrap{overflow:auto;border:1px solid rgba(113,148,171,.14);border-radius:13px}table{width:100%;border-collapse:collapse;min-width:720px}th,td{text-align:left;border-bottom:1px solid rgba(113,148,171,.11);padding:11px 13px;font-size:12px}th{color:var(--muted);font-weight:700;background:#0c1b29}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.summary-card{border:1px solid rgba(113,148,171,.14);background:#091724;border-radius:12px;padding:14px}.summary-card span{font-size:10px;text-transform:uppercase;color:var(--muted);letter-spacing:.08em}.summary-card strong{display:block;font-size:24px;margin-top:5px}.empty-state{text-align:center;padding:45px;color:var(--muted)}.toast{position:fixed;right:24px;bottom:24px;max-width:420px;background:#eafaf6;color:#07120f;border-radius:11px;padding:12px 15px;box-shadow:var(--shadow);font-size:13px;font-weight:700;transform:translateY(30px);opacity:0;pointer-events:none;transition:.2s;z-index:50}.toast.show{opacity:1;transform:none}
@media(max-width:1050px){.hero,.dashboard-grid{grid-template-columns:1fr}.hero{min-height:0}.hero-panel{min-height:420px}.pulse-panel{position:static}.evidence-grid{grid-template-columns:repeat(3,1fr)}.fact-grid{grid-template-columns:repeat(2,1fr)}.cohort-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.topbar{padding:0 14px}.brand small{display:none}.top-actions{gap:5px}.ghost-btn{padding:0 9px}.app-shell{width:min(100% - 22px,1460px);padding-top:26px}.hero h1{font-size:52px}.company-title{display:grid}.fact-grid,.metric-choice-grid,.priority-grid,.review-grid,.summary-grid{grid-template-columns:1fr}.evidence-grid{grid-template-columns:1fr}.mission-card{grid-template-columns:42px 1fr}.mission-card .status{grid-column:2;justify-self:start}.cohort-grid{grid-template-columns:1fr}.mission-toolbar{align-items:flex-start;gap:12px}.stage-label{align-items:flex-start}.instructor-head{display:grid}.top-actions #participantBtn{display:none!important}}
.standards-strip{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.standards-strip span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#b7cad5;border:1px solid rgba(106,168,255,.22);background:rgba(106,168,255,.06);border-radius:999px;padding:6px 9px}.inheritance-callout{display:grid;grid-template-columns:auto 1fr;gap:5px 12px;border:1px solid rgba(181,156,255,.22);background:rgba(181,156,255,.055);border-radius:13px;padding:13px 15px;margin-bottom:18px}.inheritance-callout span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--violet)}.inheritance-callout strong{font-size:13px}.inheritance-callout p{grid-column:1/-1;margin:3px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.focus-workbench{display:grid;grid-template-columns:260px 1fr;gap:14px}.focus-schema{border:1px solid rgba(100,227,192,.18);background:rgba(7,24,31,.66);border-radius:14px;padding:15px}.focus-targets{display:grid;gap:8px;margin-top:13px}.focus-target{border:1px solid rgba(116,153,176,.14);background:#081722;border-radius:9px;padding:10px}.focus-target strong{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--mint)}.focus-target small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.mapping-list{display:grid;gap:8px}.mapping-row{display:grid;grid-template-columns:180px 30px 1fr;gap:8px;align-items:center;border:1px solid rgba(113,148,171,.14);border-radius:12px;background:#091724;padding:10px}.mapping-row.correct{border-color:rgba(100,227,192,.32);background:rgba(13,42,46,.46)}.mapping-row.mapped:not(.correct){border-color:rgba(255,202,107,.28)}.source-field small{display:block;color:var(--muted);font-size:9px;margin-bottom:5px}.source-field code{font-size:11px;color:#d8e8ef;overflow-wrap:anywhere}.mapping-arrow{color:var(--mint);text-align:center}.target-buttons{display:flex;flex-wrap:wrap;gap:5px}.map-target{border:1px solid var(--line);background:#0b1a28;color:var(--muted);border-radius:8px;padding:7px 8px;font-size:9px;cursor:pointer}.map-target:hover{border-color:#52718a;color:var(--text)}.map-target.selected{border-color:var(--mint);background:rgba(100,227,192,.1);color:var(--mint)}.cost-ledger,.coverage-board{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:16px}.cost-ledger{grid-template-columns:repeat(3,1fr)}.cost-ledger>div,.coverage-board>div{border:1px solid rgba(113,148,171,.14);background:#091724;border-radius:11px;padding:13px}.cost-ledger span,.coverage-board span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.cost-ledger strong,.coverage-board strong{display:block;font-size:23px;margin-top:5px}.measure-question-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.measure-question{border:1px solid rgba(113,148,171,.14);background:#091724;border-radius:13px;padding:15px}.measure-question h4{font-size:14px;line-height:1.5;margin:9px 0 13px}.measure-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.measure-option{border:1px solid var(--line);background:#081522;color:var(--text);border-radius:10px;padding:11px;text-align:left;cursor:pointer}.measure-option.selected{border-color:var(--mint);background:rgba(100,227,192,.08)}.measure-option strong{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.measure-option small{display:block;color:var(--muted);line-height:1.45;font-size:9px;margin-top:5px}.focus-table-wrap{margin-top:15px;border:1px solid rgba(113,148,171,.14);border-radius:13px;overflow:auto}.focus-table-title{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;background:#0c1b29;border-bottom:1px solid rgba(113,148,171,.12)}.focus-table-title span{font-size:10px;font-weight:800;color:var(--mint)}.focus-table-title small{font-size:9px;color:var(--muted)}.focus-table{min-width:870px}.focus-table th{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px}.allocation-board{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.allocation-bucket{border:1px solid rgba(113,148,171,.14);background:#091724;border-radius:13px;padding:14px}.bucket-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.bucket-head h4{margin:4px 0;font-size:13px}.bucket-head>strong{font-size:17px;color:#dcecf2}.bucket-kind{text-transform:uppercase;font-size:8px;letter-spacing:.11em;color:var(--blue)}.allocation-bucket>p{margin:5px 0 12px;color:var(--muted);font-size:10px;line-height:1.5}.allocation-actions{display:flex;flex-wrap:wrap;gap:5px}.allocation-action{border:1px solid var(--line);background:#081522;color:var(--muted);border-radius:8px;padding:7px 8px;font-size:9px;cursor:pointer}.allocation-action:hover{color:var(--text);border-color:#52718a}.allocation-action.selected{background:rgba(100,227,192,.1);border-color:var(--mint);color:var(--mint)}
@media(max-width:980px){.focus-workbench{grid-template-columns:1fr}.focus-targets{grid-template-columns:repeat(5,1fr)}.mapping-row{grid-template-columns:150px 22px 1fr}.coverage-board{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.focus-targets,.measure-question-grid,.allocation-board,.cost-ledger,.coverage-board{grid-template-columns:1fr}.mapping-row{grid-template-columns:1fr}.mapping-arrow{transform:rotate(90deg)}.measure-options{grid-template-columns:1fr}}
.scope-card{display:flex;justify-content:space-between;gap:18px;align-items:center;border:1px solid rgba(181,156,255,.2);background:linear-gradient(135deg,rgba(181,156,255,.055),rgba(106,168,255,.035));border-radius:13px;padding:14px 15px;margin:0 0 18px}.scope-card h4{margin:6px 0 3px;font-size:15px}.scope-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.5;max-width:720px}.scope-categories{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.scope-categories span{border:1px solid rgba(181,156,255,.2);border-radius:999px;padding:6px 8px;color:#c9bbff;font-size:9px;white-space:nowrap}@media(max-width:720px){.scope-card{display:grid}.scope-categories{justify-content:flex-start}}


/* === M00 PEDAGOGICAL WORKBENCH === */

.concept-reference{
  margin:0 0 22px;
  border:1px solid rgba(106,168,255,.18);
  border-radius:14px;
  background:rgba(8,26,42,.58);
  overflow:hidden
}
.concept-reference summary{
  cursor:pointer;
  padding:13px 16px;
  color:#c7d8e5;
  font-size:12px;
  font-weight:800;
  letter-spacing:.03em;
  user-select:none
}
.concept-reference>p{
  margin:0;
  padding:0 16px 12px;
  color:var(--muted);
  font-size:11px;
  line-height:1.55
}
.concept-reference-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1px;
  border-top:1px solid rgba(113,148,171,.12);
  background:rgba(113,148,171,.08)
}
.concept-reference-list>div{
  display:grid;
  gap:5px;
  padding:13px 16px;
  background:#091724
}
.concept-reference-list strong{
  color:var(--mint);
  font-size:11px
}
.concept-reference-list span{
  color:#aebfca;
  font-size:11px;
  line-height:1.55
}

.learning-note{
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin-top:18px;
  padding:13px 15px;
  border-left:3px solid var(--mint);
  border-radius:0 10px 10px 0;
  background:rgba(100,227,192,.05)
}
.learning-note strong{
  white-space:nowrap;
  color:var(--mint);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em
}
.learning-note span{
  color:#b4c5d0;
  font-size:12px;
  line-height:1.55
}

/* Claim Triage */

.claim-triage{
  display:grid;
  grid-template-columns:.85fr 1.65fr;
  gap:16px;
  align-items:start
}
.claim-pool,
.claim-destination{
  border:1px solid rgba(113,148,171,.16);
  border-radius:15px;
  background:#081522;
  padding:12px;
  min-height:210px
}
.claim-destinations{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px
}
.drop-zone-title{
  display:grid;
  gap:4px;
  padding:4px 4px 12px;
  border-bottom:1px solid rgba(113,148,171,.12)
}
.drop-zone-title strong{
  font-size:12px;
  color:#d6e1e8
}
.drop-zone-title span{
  color:var(--muted);
  font-size:10px;
  line-height:1.4
}
.drop-zone-title.supported strong{
  color:var(--mint)
}
.drop-zone-title.insufficient strong{
  color:#9fc7ff
}
.claim-stack{
  display:grid;
  gap:8px;
  padding-top:10px
}
.claim-item{
  display:grid;
  grid-template-columns:22px 1fr;
  align-items:start;
  gap:8px;
  border:1px solid rgba(113,148,171,.18);
  border-radius:11px;
  background:#0c1d2b;
  padding:11px;
  color:#d6e0e7;
  font-size:11px;
  line-height:1.5;
  cursor:grab;
  transition:.15s ease
}
.claim-item:hover{
  border-color:#41677e;
  transform:translateY(-1px)
}
.claim-item.dragging{
  opacity:.45;
  transform:scale(.98)
}
.drag-handle{
  color:#587286;
  letter-spacing:-2px;
  font-weight:900;
  cursor:grab
}
.drop-zone.drag-over{
  border-color:rgba(100,227,192,.55);
  background:rgba(15,43,50,.58);
  box-shadow:inset 0 0 0 1px rgba(100,227,192,.1)
}
.empty-zone{
  display:grid;
  place-items:center;
  min-height:54px;
  border:1px dashed rgba(113,148,171,.15);
  border-radius:9px;
  color:#587286;
  font-size:10px
}
.claim-item.claim-correct{
  border-color:rgba(100,227,192,.35);
  background:rgba(13,42,46,.7)
}
.claim-item.claim-wrong{
  border-color:rgba(255,181,91,.36);
  background:rgba(54,38,23,.55)
}

.triage-review{
  display:grid;
  gap:9px;
  margin-top:20px
}
.triage-score{
  display:flex;
  align-items:baseline;
  gap:9px;
  padding-bottom:8px
}
.triage-score strong{
  color:var(--mint);
  font-size:28px
}
.triage-score span{
  color:var(--muted);
  font-size:11px
}
.reasoning-row{
  display:grid;
  grid-template-columns:minmax(260px,.9fr) 1.4fr;
  gap:18px;
  padding:13px 15px;
  border:1px solid rgba(113,148,171,.14);
  border-radius:11px;
  background:#091724
}
.reasoning-row>div{
  display:grid;
  gap:4px
}
.reasoning-row>div strong{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em
}
.reasoning-row>div span,
.reasoning-row p{
  margin:0;
  color:#b7c5ce;
  font-size:11px;
  line-height:1.55
}
.reasoning-row.ok{
  border-left:3px solid var(--mint)
}
.reasoning-row.ok>div strong{
  color:var(--mint)
}
.reasoning-row.needs-review{
  border-left:3px solid #dba45a
}
.reasoning-row.needs-review>div strong{
  color:#e3b875
}

/* Unit Economics Builder */

.metric-builder{
  display:grid;
  gap:18px
}
.metric-question{
  display:grid;
  gap:7px;
  padding:17px 19px;
  border:1px solid rgba(100,227,192,.2);
  border-radius:14px;
  background:linear-gradient(145deg,rgba(13,42,46,.58),rgba(8,22,34,.8))
}
.metric-question span{
  color:var(--mint);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:800
}
.metric-question strong{
  font-size:17px;
  line-height:1.45
}
.formula-controls{
  display:grid;
  grid-template-columns:1fr 44px 1fr 44px 1fr;
  gap:10px;
  align-items:end
}
.formula-controls label{
  display:grid;
  gap:7px
}
.formula-controls label>span{
  color:#aebfca;
  font-size:11px;
  font-weight:700
}
.formula-controls select,
.investigation-row select{
  width:100%;
  min-height:48px;
  border:1px solid rgba(113,148,171,.22);
  border-radius:10px;
  background:#071420;
  color:var(--text);
  padding:0 11px;
  outline:none
}
.formula-controls select:focus,
.investigation-row select:focus{
  border-color:var(--mint-2);
  box-shadow:0 0 0 3px rgba(47,191,155,.09)
}
.formula-operator{
  height:48px;
  display:grid;
  place-items:center;
  color:#638197;
  font-size:21px;
  font-weight:700
}
.formula-result{
  display:grid;
  gap:11px;
  padding:18px;
  border:1px solid rgba(113,148,171,.16);
  border-radius:14px;
  background:#081522
}
.formula-result>span{
  color:var(--muted);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.09em
}
.formula-result>div{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px
}
.formula-result strong{
  padding:7px 9px;
  border-radius:8px;
  background:#0d2130;
  color:#c6d4dd;
  font-size:11px
}
.formula-result b{
  color:#638197
}
.formula-result output{
  margin-left:auto;
  color:var(--mint);
  font-size:28px;
  font-weight:900;
  letter-spacing:-.03em
}
.metric-feedback{
  padding:15px 17px;
  border-radius:12px;
  border:1px solid rgba(113,148,171,.16);
  background:#091724
}
.metric-feedback strong{
  display:block;
  margin-bottom:5px;
  font-size:12px
}
.metric-feedback p{
  margin:0;
  color:#adbec9;
  font-size:11px;
  line-height:1.6
}
.metric-feedback.ok{
  border-left:3px solid var(--mint)
}
.metric-feedback.ok strong{
  color:var(--mint)
}
.metric-feedback.needs-review{
  border-left:3px solid #dba45a
}
.metric-feedback.needs-review strong{
  color:#e3b875
}

/* Investigation Map */

.investigation-table{
  overflow:hidden;
  border:1px solid rgba(113,148,171,.16);
  border-radius:14px;
  background:#081522
}
.investigation-head,
.investigation-row{
  display:grid;
  grid-template-columns:1.3fr .8fr 1.15fr;
  gap:14px;
  align-items:center
}
.investigation-head{
  padding:11px 14px;
  background:#0d2030;
  color:#718da1;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.09em
}
.investigation-row{
  padding:13px 14px;
  border-top:1px solid rgba(113,148,171,.1)
}
.investigation-question{
  color:#d2dce3;
  font-size:12px;
  line-height:1.5
}
.investigation-rationale{
  display:grid;
  gap:4px
}
.investigation-rationale strong{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em
}
.investigation-rationale span{
  color:var(--muted);
  font-size:10px;
  line-height:1.5
}
.investigation-row.ok{
  background:rgba(13,42,46,.38)
}
.investigation-row.ok .investigation-rationale strong{
  color:var(--mint)
}
.investigation-row.needs-review{
  background:rgba(54,38,23,.3)
}
.investigation-row.needs-review .investigation-rationale strong{
  color:#e3b875
}
.investigation-row select:disabled{
  opacity:.86
}

.dimension-reference{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:15px
}
.dimension-reference>strong{
  grid-column:1/-1;
  color:#7f98aa;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.09em
}
.dimension-reference>div{
  display:grid;
  gap:3px;
  padding:10px 12px;
  border:1px solid rgba(113,148,171,.12);
  border-radius:9px;
  background:#091724
}
.dimension-reference span{
  color:#c8d5dd;
  font-size:10px;
  font-weight:700
}
.dimension-reference small{
  color:var(--muted);
  font-size:9px;
  line-height:1.4
}

/* CFO Brief */

.diagnostic-breakdown{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:7px;
  margin-top:17px
}
.diagnostic-breakdown>div{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:8px 10px;
  border:1px solid rgba(113,148,171,.12);
  border-radius:8px;
  background:rgba(7,20,32,.55)
}
.diagnostic-breakdown span{
  color:var(--muted);
  font-size:10px
}
.diagnostic-breakdown strong{
  color:#d8e2e8;
  font-size:10px
}

.brief-textarea{
  display:grid;
  gap:7px;
  margin-top:20px;
  padding-top:17px;
  border-top:1px solid rgba(113,148,171,.13)
}
.brief-textarea>span{
  color:var(--mint);
  font-size:11px;
  font-weight:800
}
.brief-textarea small{
  color:var(--muted);
  line-height:1.5
}
.brief-textarea textarea{
  width:100%;
  resize:vertical;
  min-height:145px;
  border:1px solid rgba(113,148,171,.2);
  border-radius:11px;
  background:#06131f;
  color:var(--text);
  padding:12px 13px;
  font:inherit;
  font-size:12px;
  line-height:1.6;
  outline:none
}
.brief-textarea textarea:focus{
  border-color:var(--mint-2);
  box-shadow:0 0 0 3px rgba(47,191,155,.09)
}
.brief-textarea em{
  color:#688195;
  font-size:9px;
  line-height:1.45;
  font-style:normal
}

@media(max-width:1050px){
  .claim-triage{grid-template-columns:1fr}
  .claim-destinations{grid-template-columns:1fr 1fr}
  .formula-controls{grid-template-columns:1fr}
  .formula-operator{height:auto}
  .investigation-head{display:none}
  .investigation-row{grid-template-columns:1fr 1fr}
  .investigation-rationale{grid-column:1/-1}
}

@media(max-width:720px){
  .concept-reference-list{grid-template-columns:1fr}
  .claim-destinations{grid-template-columns:1fr}
  .reasoning-row{grid-template-columns:1fr}
  .dimension-reference{grid-template-columns:1fr}
  .investigation-row{grid-template-columns:1fr}
  .diagnostic-breakdown{grid-template-columns:1fr}
  .formula-result>div{display:grid}
  .formula-result output{margin-left:0}
  .learning-note{display:grid}
}



/* === M00 UNIT ECONOMICS WORKBENCH === */

.unit-builder-layout{
  display:grid;
  grid-template-columns:.78fr 1.55fr;
  gap:16px;
  margin-top:18px;
  align-items:start
}

.data-palette,
.formula-workbench{
  border:1px solid rgba(113,148,171,.16);
  border-radius:15px;
  background:#081522
}

.data-palette{
  padding:14px
}

.data-palette-head,
.formula-workbench-head{
  display:grid;
  gap:5px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(113,148,171,.12)
}

.data-palette-head strong,
.formula-workbench-head strong{
  color:#d7e2e9;
  font-size:12px
}

.data-palette-head span,
.formula-workbench-head span{
  color:var(--muted);
  font-size:10px;
  line-height:1.45
}

.data-token-list{
  display:grid;
  gap:8px;
  margin-top:12px
}

.data-token{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  width:100%;
  padding:10px 11px;
  border:1px solid rgba(113,148,171,.18);
  border-radius:10px;
  background:#0c1d2b;
  color:var(--text);
  cursor:grab;
  text-align:left;
  transition:.15s ease
}

.data-token:hover{
  border-color:#41677e;
  transform:translateY(-1px)
}

.data-token.dragging{
  opacity:.45
}

.data-token span{
  color:#b8c7d0;
  font-size:10px;
  line-height:1.35
}

.data-token strong{
  white-space:nowrap;
  color:var(--mint);
  font-size:11px
}

.palette-help{
  margin:12px 2px 0;
  color:#678196;
  font-size:9px;
  line-height:1.45
}

.formula-workbench{
  padding:16px
}

.formula-canvas{
  display:grid;
  grid-template-columns:1fr 34px 1fr 34px .72fr 34px .72fr;
  gap:9px;
  align-items:stretch;
  margin-top:16px
}

.formula-slot,
.scale-slot{
  min-height:126px;
  border:1px dashed rgba(113,148,171,.3);
  border-radius:12px;
  background:#091724;
  color:var(--text);
  padding:12px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;
  text-align:left
}

.formula-slot{
  cursor:pointer;
  transition:.15s ease
}

.formula-slot:hover,
.formula-slot.active{
  border-color:rgba(100,227,192,.5);
  background:rgba(13,42,46,.52)
}

.formula-slot.drag-over{
  border-style:solid;
  border-color:var(--mint);
  background:rgba(15,48,50,.72);
  box-shadow:inset 0 0 0 1px rgba(100,227,192,.14)
}

.formula-slot small,
.scale-slot small{
  color:#7993a6;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em
}

.formula-slot strong{
  color:#dce6eb;
  font-size:12px;
  line-height:1.4
}

.formula-slot span{
  color:var(--mint);
  font-size:11px;
  font-weight:800
}

.formula-slot em{
  color:#587286;
  font-size:10px;
  font-style:normal
}

.formula-symbol{
  display:grid;
  place-items:center;
  color:#6b879a;
  font-size:22px;
  font-weight:800
}

.scale-slot input{
  width:100%;
  height:42px;
  border:1px solid rgba(113,148,171,.22);
  border-radius:9px;
  background:#06131f;
  color:var(--text);
  padding:0 10px;
  font-size:16px;
  font-weight:800;
  outline:none
}

.scale-slot input:focus{
  border-color:var(--mint-2);
  box-shadow:0 0 0 3px rgba(47,191,155,.09)
}

.scale-slot span{
  color:#688195;
  font-size:9px;
  line-height:1.4
}

.formula-live-result{
  min-height:126px;
  border:1px solid rgba(100,227,192,.22);
  border-radius:12px;
  background:linear-gradient(145deg,rgba(13,42,46,.68),rgba(8,22,34,.88));
  display:grid;
  place-items:center;
  padding:10px;
  color:var(--mint);
  font-size:27px;
  font-weight:900;
  letter-spacing:-.04em;
  text-align:center
}

@media(max-width:1050px){
  .unit-builder-layout{
    grid-template-columns:1fr
  }

  .formula-canvas{
    grid-template-columns:1fr 28px 1fr;
  }

  .scale-slot,
  .formula-live-result{
    min-height:100px
  }

  .formula-symbol.equals{
    display:none
  }
}

@media(max-width:720px){
  .formula-canvas{
    grid-template-columns:1fr
  }

  .formula-symbol{
    min-height:24px
  }

  .data-token{
    align-items:flex-start
  }
}



/* === M00 INVESTIGATION WORKBENCH === */

.investigation-workbench{
  display:grid;
  grid-template-columns:.78fr 1.5fr;
  gap:16px;
  align-items:start
}

.dimension-palette,
.cost-model-panel{
  border:1px solid rgba(113,148,171,.16);
  border-radius:15px;
  background:#081522
}

.dimension-palette{
  padding:14px
}

.dimension-palette-head,
.cost-model-head{
  display:grid;
  gap:5px
}

.dimension-palette-head{
  padding-bottom:12px;
  border-bottom:1px solid rgba(113,148,171,.12)
}

.dimension-palette-head strong,
.cost-model-head strong{
  color:#d7e2e9;
  font-size:12px
}

.dimension-palette-head span,
.cost-model-head span{
  color:var(--muted);
  font-size:10px;
  line-height:1.45
}

.dimension-token-list{
  display:grid;
  gap:8px;
  margin-top:12px
}

.dimension-token{
  display:grid;
  grid-template-columns:1fr auto;
  gap:3px 10px;
  width:100%;
  padding:10px 11px;
  border:1px solid rgba(113,148,171,.18);
  border-radius:10px;
  background:#0c1d2b;
  color:var(--text);
  cursor:grab;
  text-align:left;
  transition:.15s ease
}

.dimension-token:hover:not(:disabled){
  border-color:#41677e;
  transform:translateY(-1px)
}

.dimension-token.dragging{
  opacity:.45
}

.dimension-token.selected{
  border-color:rgba(100,227,192,.28);
  background:rgba(13,42,46,.55)
}

.dimension-token:disabled{
  cursor:default
}

.dimension-token span{
  color:#d1dce3;
  font-size:11px;
  font-weight:700
}

.dimension-token small{
  grid-column:1;
  color:var(--muted);
  font-size:9px;
  line-height:1.4
}

.dimension-token b{
  grid-column:2;
  grid-row:1/3;
  align-self:center;
  color:var(--mint);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.06em
}

.cost-model-panel{
  padding:16px
}

.cost-model-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-start;
  padding-bottom:13px;
  border-bottom:1px solid rgba(113,148,171,.12)
}

.cost-model-head>div:first-child{
  display:grid;
  gap:4px
}

.model-baseline{
  display:grid;
  gap:3px;
  text-align:right
}

.model-baseline small{
  color:#7690a3;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em
}

.model-baseline strong{
  color:var(--mint);
  font-size:15px
}

.cost-model-dropzone{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:14px;
  margin-top:15px;
  padding:14px;
  border:1px dashed rgba(113,148,171,.26);
  border-radius:13px;
  background:#071420;
  transition:.15s ease
}

.cost-model-dropzone.drag-over{
  border-style:solid;
  border-color:var(--mint);
  background:rgba(13,42,46,.42);
  box-shadow:inset 0 0 0 1px rgba(100,227,192,.12)
}

.cost-model-base{
  display:grid;
  align-content:center;
  gap:5px;
  min-height:150px;
  padding:14px;
  border:1px solid rgba(100,227,192,.2);
  border-radius:11px;
  background:linear-gradient(145deg,rgba(13,42,46,.65),rgba(8,22,34,.86))
}

.cost-model-base span{
  color:#7fa0b4;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em
}

.cost-model-base strong{
  color:var(--mint);
  font-size:24px;
  letter-spacing:-.03em
}

.cost-model-base small{
  color:#adbec9;
  font-size:10px
}

.cost-model-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  align-content:start
}

.cost-model-field{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:8px;
  align-items:center;
  min-height:66px;
  padding:10px 11px;
  border:1px solid rgba(113,148,171,.15);
  border-radius:10px;
  background:#0b1b29
}

.cost-model-field>div{
  display:grid;
  gap:3px
}

.cost-model-field span{
  color:#d1dce3;
  font-size:10px;
  font-weight:700
}

.cost-model-field small{
  color:var(--muted);
  font-size:8px;
  line-height:1.35
}

.cost-model-field>strong{
  color:var(--mint);
  font-size:12px
}

.cost-model-field>button{
  width:26px;
  height:26px;
  border:1px solid rgba(113,148,171,.17);
  border-radius:7px;
  background:#071420;
  color:#7f98aa;
  cursor:pointer
}

.cost-model-field>button:hover{
  border-color:#b06d6d;
  color:#e7a0a0
}

.empty-model{
  min-height:150px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:6px;
  border:1px dashed rgba(113,148,171,.15);
  border-radius:10px;
  color:#587286
}

.empty-model strong{
  font-size:25px;
  font-weight:400
}

.empty-model span{
  font-size:10px
}

.coverage-meter{
  display:grid;
  gap:7px;
  margin-top:14px
}

.coverage-meter>div:first-child{
  display:flex;
  justify-content:space-between;
  gap:12px
}

.coverage-meter strong,
.coverage-meter span{
  font-size:10px
}

.coverage-meter strong{
  color:#b9c8d1
}

.coverage-meter span{
  color:var(--mint)
}

.coverage-track{
  height:7px;
  overflow:hidden;
  border-radius:999px;
  background:#152b3a
}

.coverage-track i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#5e9fff,var(--mint))
}

.investigation-coverage-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
  margin-top:16px
}

.coverage-question{
  display:grid;
  gap:8px;
  padding:13px 14px;
  border:1px solid rgba(113,148,171,.14);
  border-radius:11px;
  background:#091724
}

.coverage-question.covered{
  border-left:3px solid var(--mint);
  background:rgba(13,42,46,.33)
}

.coverage-question.uncovered{
  border-left:3px solid #45657b
}

.coverage-status{
  display:flex;
  align-items:center;
  gap:7px
}

.coverage-status span{
  width:20px;
  height:20px;
  border:1px solid rgba(113,148,171,.2);
  border-radius:6px;
  display:grid;
  place-items:center;
  color:#6d899d;
  font-size:10px;
  font-weight:900
}

.coverage-question.covered .coverage-status span{
  border-color:rgba(100,227,192,.3);
  color:var(--mint)
}

.coverage-status strong{
  color:#7391a5;
  font-size:9px;
  letter-spacing:.08em
}

.coverage-question.covered .coverage-status strong{
  color:var(--mint)
}

.coverage-question p{
  margin:0;
  color:#d0dbe2;
  font-size:11px;
  line-height:1.5
}

.coverage-explanation{
  display:grid;
  gap:4px;
  padding-top:8px;
  border-top:1px solid rgba(113,148,171,.1)
}

.coverage-explanation small{
  color:#718da1;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.08em
}

.coverage-explanation span{
  color:var(--muted);
  font-size:9px;
  line-height:1.45
}

.coverage-explanation b{
  color:#cbd8df;
  font-size:9px
}

.investigation-review-summary{
  margin-top:15px;
  padding:14px 16px;
  border-radius:12px;
  border:1px solid rgba(113,148,171,.15);
  background:#091724
}

.investigation-review-summary.complete{
  border-left:3px solid var(--mint)
}

.investigation-review-summary.incomplete{
  border-left:3px solid #dba45a
}

.investigation-review-summary>strong{
  color:#d4e0e7;
  font-size:11px;
  line-height:1.5
}

.investigation-review-columns{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
  margin-top:11px
}

.investigation-review-columns>div{
  padding:10px;
  border:1px solid rgba(113,148,171,.1);
  border-radius:9px;
  background:#071420
}

.investigation-review-columns span{
  display:block;
  margin-bottom:4px;
  color:#718da1;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.08em
}

.investigation-review-columns p{
  margin:0;
  color:#c0ced7;
  font-size:10px;
  line-height:1.4
}

@media(max-width:1050px){
  .investigation-workbench{
    grid-template-columns:1fr
  }

  .cost-model-dropzone{
    grid-template-columns:1fr
  }

  .cost-model-base{
    min-height:auto
  }
}

@media(max-width:720px){
  .cost-model-head{
    display:grid
  }

  .model-baseline{
    text-align:left
  }

  .cost-model-fields,
  .investigation-coverage-grid,
  .investigation-review-columns{
    grid-template-columns:1fr
  }
}



/* === M01 ALLOCATION WORKBENCH === */

.allocation-scope-note{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:15px;
  align-items:center;
  margin:14px 0 18px;
  padding:11px 14px;
  border:1px solid rgba(106,168,255,.16);
  border-left:3px solid #6aa8ff;
  border-radius:0 10px 10px 0;
  background:rgba(106,168,255,.055)
}

.scope-note-metric{
  display:grid;
  gap:3px;
  padding-right:15px;
  border-right:1px solid rgba(106,168,255,.16)
}

.scope-note-metric span{
  color:#7f9fb5;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.08em
}

.scope-note-metric strong{
  color:#d7e4eb;
  font-size:15px;
  white-space:nowrap
}

.allocation-scope-note p{
  margin:0;
  color:#aebfca;
  font-size:9px;
  line-height:1.5
}

/* 01 · Allocation Map */

.allocation-map-workbench{
  display:grid;
  grid-template-columns:1fr;
  gap:12px
}

.ledger-pool,
.allocation-zone{
  padding:12px;
  border:1px solid rgba(113,148,171,.16);
  border-radius:14px;
  background:#081522;
  transition:.15s ease
}

.ledger-pool{
  min-height:0
}

.ledger-pool .ledger-stack{
  grid-template-columns:repeat(4,minmax(0,1fr))
}

.allocation-destinations{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  align-items:start
}

.allocation-zone{
  min-height:155px
}

.allocation-zone-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
  width:100%;
  padding:4px 3px 11px;
  border:0;
  border-bottom:1px solid rgba(113,148,171,.12);
  background:transparent;
  color:var(--text);
  text-align:left
}

.allocation-zone-head>div{
  display:grid;
  gap:4px;
  min-width:0
}

.allocation-zone-head>b{
  color:#d3e2e8;
  font-size:11px;
  white-space:nowrap
}

.zone-button{
  cursor:pointer
}

.zone-button:hover:not(:disabled){
  background:rgba(113,148,171,.035)
}

.allocation-zone-head strong{
  font-size:11px
}

.allocation-zone-head span{
  color:var(--muted);
  font-size:9px;
  line-height:1.35
}

.allocation-zone.direct .allocation-zone-head strong{
  color:var(--mint)
}

.allocation-zone.shared .allocation-zone-head strong{
  color:#9fc7ff
}

.allocation-zone.pending .allocation-zone-head strong{
  color:#e3b875
}

.ledger-stack{
  display:grid;
  gap:7px;
  padding-top:9px
}

.allocation-ledger-item{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  padding:10px 11px;
  border:1px solid rgba(113,148,171,.17);
  border-radius:10px;
  background:#0c1d2b;
  cursor:grab;
  transition:.15s ease
}

.allocation-ledger-item:hover{
  border-color:#41677e;
  transform:translateY(-1px)
}

.allocation-ledger-item.active{
  border-color:rgba(100,227,192,.55);
  box-shadow:0 0 0 2px rgba(100,227,192,.08)
}

.allocation-ledger-item.dragging{
  opacity:.45
}

.allocation-ledger-item>div{
  display:grid;
  gap:3px
}

.allocation-ledger-item strong{
  color:#d5e0e6;
  font-size:10px;
  line-height:1.35
}

.allocation-ledger-item small{
  color:var(--muted);
  font-size:8px;
  line-height:1.4
}

.allocation-ledger-item>b{
  color:var(--mint);
  font-size:10px;
  white-space:nowrap
}

.allocation-ledger-item.correct{
  border-color:rgba(100,227,192,.3);
  background:rgba(13,42,46,.52)
}

.allocation-ledger-item.wrong{
  border-color:rgba(219,164,90,.32);
  background:rgba(54,38,23,.45)
}

.drop-zone-m01.drag-over{
  border-color:rgba(100,227,192,.55);
  background:rgba(13,42,46,.45);
  box-shadow:inset 0 0 0 1px rgba(100,227,192,.1)
}

.m01-review-list{
  display:grid;
  gap:8px;
  margin-top:17px
}

/* 02 · Shared Cost Lab */

.shared-cost-lab{
  display:grid;
  gap:13px
}

.shared-cost-case{
  padding:16px;
  border:1px solid rgba(113,148,171,.16);
  border-radius:14px;
  background:#081522
}

.shared-cost-case.correct{
  border-left:3px solid var(--mint)
}

.shared-cost-case.wrong{
  border-left:3px solid #dba45a
}

.shared-cost-head{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start
}

.shared-cost-head>div{
  display:grid;
  gap:3px
}

.shared-cost-head span{
  color:#718da1;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.09em
}

.shared-cost-head h4{
  margin:0;
  font-size:15px
}

.shared-cost-head>strong{
  color:var(--mint);
  font-size:18px;
  white-space:nowrap
}


.shared-cost-evidence{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px;
  align-items:start;
  margin-top:11px;
  padding:9px 11px;
  border-left:2px solid rgba(106,168,255,.45);
  background:rgba(106,168,255,.04)
}

.shared-cost-evidence span{
  color:#7fa2b8;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.08em;
  white-space:nowrap
}

.shared-cost-evidence p{
  margin:0;
  color:#b7c7d0;
  font-size:9px;
  line-height:1.45
}

.driver-choice-row{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:8px;
  margin-top:13px
}

.driver-choice{
  display:grid;
  gap:4px;
  padding:11px 12px;
  border:1px solid rgba(113,148,171,.17);
  border-radius:10px;
  background:#0b1b29;
  color:var(--text);
  text-align:left;
  cursor:pointer
}

.driver-choice:hover:not(:disabled),
.driver-choice.selected{
  border-color:rgba(100,227,192,.45);
  background:rgba(13,42,46,.52)
}

.driver-choice strong{
  font-size:10px
}

.driver-choice small{
  color:var(--muted);
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.06em
}

.driver-preview{
  margin-top:11px;
  padding:12px;
  border:1px solid rgba(113,148,171,.12);
  border-radius:10px;
  background:#071420
}

.driver-preview-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:9px
}

.driver-preview-head span{
  color:#718da1;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.08em
}

.driver-preview-head strong{
  color:#cbd8df;
  font-size:9px
}

.driver-allocation-bars{
  display:grid;
  gap:7px
}

.driver-allocation-row{
  display:grid;
  grid-template-columns:110px 1fr 55px 72px;
  gap:8px;
  align-items:center
}

.driver-allocation-row>span{
  color:#b9c8d1;
  font-size:9px
}

.driver-allocation-row>div{
  height:6px;
  overflow:hidden;
  border-radius:999px;
  background:#152b3a
}

.driver-allocation-row i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#5e9fff,var(--mint))
}

.driver-allocation-row>strong{
  color:#8da6b7;
  font-size:9px;
  text-align:right
}

.driver-allocation-row>b{
  color:#d3dee4;
  font-size:9px;
  text-align:right
}

.driver-feedback{
  margin-top:11px;
  padding:11px 13px;
  border:1px solid rgba(113,148,171,.13);
  border-radius:9px;
  background:#091724
}

.driver-feedback strong{
  display:block;
  margin-bottom:4px;
  font-size:10px
}

.driver-feedback p{
  margin:0;
  color:var(--muted);
  font-size:9px;
  line-height:1.5
}

.driver-feedback.ok{
  border-left:3px solid var(--mint)
}

.driver-feedback.ok strong{
  color:var(--mint)
}

.driver-feedback.needs-review{
  border-left:3px solid #dba45a
}

.driver-feedback.needs-review strong{
  color:#e3b875
}

/* 03 · Pending Cost Queue */

.pending-coverage-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
  margin-bottom:15px
}

.pending-coverage-strip>div{
  display:grid;
  gap:5px;
  padding:12px 14px;
  border:1px solid rgba(113,148,171,.14);
  border-radius:11px;
  background:#081522
}

.pending-coverage-strip span{
  color:#718da1;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.08em
}

.pending-coverage-strip strong{
  color:var(--mint);
  font-size:20px
}

.pending-cost-queue{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px
}

.pending-cost-case{
  padding:15px;
  border:1px solid rgba(113,148,171,.16);
  border-radius:14px;
  background:#081522
}

.pending-cost-case.correct{
  border-left:3px solid var(--mint)
}

.pending-cost-case.wrong{
  border-left:3px solid #dba45a
}

.pending-case-head{
  display:flex;
  justify-content:space-between;
  gap:15px;
  align-items:flex-start
}

.pending-case-head>div{
  display:grid;
  gap:3px
}

.pending-case-head span{
  color:#718da1;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.08em
}

.pending-case-head h4{
  margin:0;
  font-size:14px
}

.pending-case-head p{
  margin:2px 0 0;
  color:var(--muted);
  font-size:9px;
  line-height:1.45
}

.pending-case-head>strong{
  color:#e3b875;
  font-size:16px;
  white-space:nowrap
}

.pending-actions{
  display:grid;
  gap:7px;
  margin-top:13px
}

.pending-action{
  padding:10px 11px;
  border:1px solid rgba(113,148,171,.16);
  border-radius:9px;
  background:#0b1b29;
  color:#cbd7de;
  text-align:left;
  font-size:9px;
  cursor:pointer
}

.pending-action:hover:not(:disabled),
.pending-action.selected{
  border-color:rgba(100,227,192,.42);
  background:rgba(13,42,46,.48)
}

/* 04 · Showback / Chargeback */

.readiness-summary{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin-bottom:15px
}

.readiness-summary>div{
  display:grid;
  gap:5px;
  padding:11px 12px;
  border:1px solid rgba(113,148,171,.13);
  border-radius:10px;
  background:#081522
}

.readiness-summary span{
  color:#718da1;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.08em
}

.readiness-summary strong{
  color:#d4e0e7;
  font-size:13px
}

.chargeback-readiness-board{
  overflow:hidden;
  border:1px solid rgba(113,148,171,.16);
  border-radius:14px;
  background:#081522
}

.readiness-board-head{
  display:grid;
  gap:4px;
  padding:13px 15px;
  border-bottom:1px solid rgba(113,148,171,.12);
  background:#0c1d2b
}

.readiness-board-head strong{
  color:#d5e1e7;
  font-size:11px
}

.readiness-board-head span{
  color:var(--muted);
  font-size:9px;
  line-height:1.45
}

.readiness-criteria{
  display:grid
}

.readiness-criterion{
  display:grid;
  grid-template-columns:26px 1fr auto;
  gap:10px;
  align-items:center;
  padding:11px 14px;
  border-top:1px solid rgba(113,148,171,.09)
}

.readiness-criterion:first-child{
  border-top:0
}

.readiness-criterion>span{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:7px;
  font-size:10px;
  font-weight:900
}

.readiness-criterion.met>span{
  border:1px solid rgba(100,227,192,.28);
  color:var(--mint);
  background:rgba(100,227,192,.06)
}

.readiness-criterion.not-met>span{
  border:1px solid rgba(219,164,90,.28);
  color:#e3b875;
  background:rgba(219,164,90,.06)
}

.readiness-criterion>div{
  display:grid;
  gap:3px
}

.readiness-criterion strong{
  color:#cdd9e0;
  font-size:10px
}

.readiness-criterion p{
  margin:0;
  color:var(--muted);
  font-size:8px;
  line-height:1.45
}

.readiness-criterion>b{
  font-size:8px;
  letter-spacing:.08em
}

.readiness-criterion.met>b{
  color:var(--mint)
}

.readiness-criterion.not-met>b{
  color:#e3b875
}

.showback-decision{
  display:grid;
  gap:9px;
  margin-top:15px
}

.showback-decision>span{
  color:#718da1;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.09em
}

.showback-options{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px
}

.showback-option{
  display:grid;
  gap:6px;
  padding:14px;
  border:1px solid rgba(113,148,171,.16);
  border-radius:11px;
  background:#091724;
  color:var(--text);
  text-align:left;
  cursor:pointer
}

.showback-option:hover:not(:disabled),
.showback-option.selected{
  border-color:rgba(100,227,192,.46);
  background:rgba(13,42,46,.48)
}

.showback-option strong{
  font-size:11px
}

.showback-option small{
  color:var(--muted);
  font-size:9px;
  line-height:1.45
}

@media(max-width:1050px){
  .ledger-pool .ledger-stack{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

  .allocation-destinations{
    grid-template-columns:repeat(3,1fr)
  }

  .readiness-summary{
    grid-template-columns:repeat(2,1fr)
  }
}

@media(max-width:720px){
  .allocation-scope-note{
    grid-template-columns:1fr
  }

  .scope-note-metric{
    padding-right:0;
    padding-bottom:9px;
    border-right:0;
    border-bottom:1px solid rgba(106,168,255,.16)
  }

  .ledger-pool .ledger-stack,
  .allocation-destinations,
  .driver-choice-row,
  .pending-cost-queue,
  .showback-options,
  .pending-coverage-strip,
  .readiness-summary{
    grid-template-columns:1fr
  }

  .driver-allocation-row{
    grid-template-columns:90px 1fr 48px
  }

  .driver-allocation-row>b{
    grid-column:2/4
  }

  .readiness-criterion{
    grid-template-columns:26px 1fr
  }

  .readiness-criterion>b{
    grid-column:2
  }
}



/* === M01 READABILITY OVERRIDES === */

/* Micro labels */
.scope-note-metric span,
.shared-cost-head span,
.shared-cost-evidence span,
.driver-preview-head span,
.pending-coverage-strip span,
.pending-case-head span,
.readiness-summary span,
.showback-decision>span{
  font-size:9.5px
}

/* Main explanatory text */
.allocation-scope-note p,
.shared-cost-evidence p,
.driver-feedback p,
.pending-case-head p,
.readiness-board-head span,
.readiness-criterion p,
.showback-option small{
  font-size:11px;
  line-height:1.5
}

/* Ledger and allocation map */
.allocation-zone-head strong,
.allocation-ledger-item strong{
  font-size:11px
}

.allocation-zone-head span,
.allocation-ledger-item small{
  font-size:10px;
  line-height:1.45
}

.allocation-ledger-item>b,
.allocation-zone-head>b{
  font-size:11px
}

/* Shared cost lab */
.driver-choice strong{
  font-size:11px
}

.driver-preview-head strong,
.driver-allocation-row>span,
.driver-allocation-row>strong,
.driver-allocation-row>b{
  font-size:10px
}

.driver-feedback strong{
  font-size:11px
}

/* Pending cost queue */
.pending-case-head h4{
  font-size:15px
}

.pending-action{
  font-size:11px;
  line-height:1.4
}

/* Readiness / showback */
.readiness-board-head strong{
  font-size:12px
}

.readiness-criterion strong{
  font-size:11px
}

.readiness-criterion>b{
  font-size:9.5px
}

.showback-option strong{
  font-size:12px
}



/* === M02 REAL COST WORKBENCH === */

/* Shared */

.m02-takeaway{
  margin-top:14px;
  padding:12px 14px;
  border:1px solid rgba(100,227,192,.18);
  border-left:3px solid var(--mint);
  border-radius:0 10px 10px 0;
  background:rgba(100,227,192,.045)
}

.m02-takeaway strong{
  display:block;
  margin-bottom:4px;
  color:var(--mint);
  font-size:11px
}

.m02-takeaway p{
  margin:0;
  color:#b8c8d1;
  font-size:11px;
  line-height:1.5
}

.m02-question-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:14px
}

.m02-decision-card{
  padding:15px;
  border:1px solid rgba(113,148,171,.16);
  border-radius:13px;
  background:#081522
}

.m02-decision-card.correct{
  border-left:3px solid var(--mint)
}

.m02-decision-card.wrong{
  border-left:3px solid #dba45a
}

.m02-decision-card h4{
  margin:3px 0 12px;
  color:#d8e3e9;
  font-size:13px;
  line-height:1.45
}

.m02-choice-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px
}

.m02-choice{
  display:grid;
  gap:5px;
  padding:11px 12px;
  border:1px solid rgba(113,148,171,.17);
  border-radius:9px;
  background:#0b1b29;
  color:var(--text);
  text-align:left;
  cursor:pointer
}

.m02-choice:hover:not(:disabled),
.m02-choice.selected{
  border-color:rgba(100,227,192,.46);
  background:rgba(13,42,46,.5)
}

.m02-choice strong{
  font-size:11px
}

.m02-choice small{
  color:var(--muted);
  font-size:10px;
  line-height:1.45
}

.m02-choice-row.compact .m02-choice{
  text-align:center
}


/* 01 · Cost Timeline */

.m02-case-card{
  display:flex;
  justify-content:space-between;
  gap:22px;
  align-items:center;
  margin:14px 0;
  padding:14px 16px;
  border:1px solid rgba(106,168,255,.17);
  border-radius:12px;
  background:rgba(106,168,255,.045)
}

.m02-case-card>div{
  display:grid;
  gap:4px
}

.m02-case-card span{
  color:#7fa2b8;
  font-size:9.5px;
  letter-spacing:.09em
}

.m02-case-card h4{
  margin:0;
  color:#d9e5eb;
  font-size:14px
}

.m02-case-card p{
  max-width:780px;
  margin:0;
  color:#b6c6cf;
  font-size:11px;
  line-height:1.5
}

.m02-case-card>strong{
  color:var(--mint);
  font-size:17px;
  white-space:nowrap
}

.cost-lens-switch{
  display:flex;
  gap:7px;
  margin:12px 0
}

.cost-lens-switch button{
  padding:9px 13px;
  border:1px solid rgba(113,148,171,.17);
  border-radius:8px;
  background:#091724;
  color:#9fb1bd;
  font-size:10px;
  font-weight:700;
  cursor:pointer
}

.cost-lens-switch button:hover,
.cost-lens-switch button.active{
  border-color:rgba(100,227,192,.48);
  background:rgba(13,42,46,.52);
  color:#d8e6e5
}

.cost-timeline{
  padding:14px 16px;
  border:1px solid rgba(113,148,171,.15);
  border-radius:13px;
  background:#081522
}

.timeline-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start
}

.timeline-head>div{
  display:grid;
  gap:3px
}

.timeline-head span{
  color:#718da1;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em
}

.timeline-head strong{
  color:#d4e0e6;
  font-size:12px
}

.timeline-head>b{
  color:var(--mint);
  font-size:18px
}

.timeline-bars{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:7px;
  height:180px;
  margin-top:14px;
  padding-top:8px;
  border-top:1px solid rgba(113,148,171,.1)
}

.timeline-month{
  display:grid;
  grid-template-rows:1fr auto;
  gap:6px;
  min-width:0;
  text-align:center
}

.timeline-bar-area{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  min-height:130px;
  border-bottom:1px solid rgba(113,148,171,.15)
}

.timeline-bar{
  position:relative;
  width:72%;
  min-height:0;
  border-radius:5px 5px 0 0;
  background:linear-gradient(180deg,#5e9fff,#416db3)
}

.timeline-bar.economic{
  background:linear-gradient(180deg,var(--mint),#238f7c)
}

.timeline-bar span{
  position:absolute;
  bottom:100%;
  left:50%;
  margin-bottom:4px;
  transform:translateX(-50%);
  color:#cbd9e0;
  font-size:8px;
  white-space:nowrap
}

.timeline-month small{
  color:#7f96a5;
  font-size:9px
}


/* 02 · FOCUS Cost Lens */

.m02-focus-reference{
  margin:12px 0;
  border:1px solid rgba(106,168,255,.16);
  border-radius:11px;
  background:#081522
}

.m02-focus-reference summary{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  padding:11px 13px;
  cursor:pointer
}

.m02-focus-reference summary span{
  color:#b9c9d2;
  font-size:11px;
  font-weight:700
}

.m02-focus-reference summary strong{
  color:#9fc7ff;
  font-size:10px
}

.m02-focus-reference>p{
  margin:0;
  padding:0 13px 11px;
  color:var(--muted);
  font-size:10px;
  line-height:1.5
}

.focus-reference-fields{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:7px;
  padding:0 13px 13px
}

.focus-reference-fields>div{
  display:grid;
  gap:4px;
  padding:9px;
  border:1px solid rgba(113,148,171,.12);
  border-radius:8px;
  background:#0a1926
}

.focus-reference-fields code{
  color:#a9cfff;
  font-size:9px
}

.focus-reference-fields span{
  color:#93a8b5;
  font-size:9px;
  line-height:1.4
}

.focus-cost-summary{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  margin-bottom:10px;
  padding:11px 13px;
  border:1px solid rgba(113,148,171,.14);
  border-radius:10px;
  background:#081522
}

.focus-cost-summary>div{
  display:grid;
  gap:3px
}

.focus-cost-summary span{
  color:#718da1;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em
}

.focus-cost-summary strong{
  color:#d6e1e7;
  font-size:11px
}

.focus-cost-summary>div:last-child{
  text-align:right
}

.focus-cost-summary>div:last-child strong{
  color:var(--mint);
  font-size:17px
}

.m02-focus-table td,
.m02-focus-table th{
  font-size:10px
}

.m02-focus-table td:last-child{
  color:#92a8b5
}


/* 03 · Fully Loaded Cost Builder */

.loaded-business-question{
  display:grid;
  gap:4px;
  margin:13px 0;
  padding:12px 14px;
  border-left:3px solid #6aa8ff;
  background:rgba(106,168,255,.045)
}

.loaded-business-question span{
  color:#7fa2b8;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em
}

.loaded-business-question strong{
  color:#d9e5eb;
  font-size:14px
}

.cost-stack-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin-bottom:13px
}

.cost-stack-summary>div{
  display:grid;
  gap:4px;
  padding:12px 14px;
  border:1px solid rgba(113,148,171,.14);
  border-radius:10px;
  background:#081522
}

.cost-stack-summary span{
  color:#718da1;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em
}

.cost-stack-summary strong{
  color:#d7e2e7;
  font-size:18px
}

.cost-stack-summary .primary{
  border-color:rgba(100,227,192,.26);
  background:rgba(13,42,46,.42)
}

.cost-stack-summary .primary strong{
  color:var(--mint)
}

.loaded-builder{
  display:grid;
  gap:11px
}

.loaded-builder>section{
  padding:13px;
  border:1px solid rgba(113,148,171,.14);
  border-radius:12px;
  background:#081522
}

.loaded-builder>section>p{
  margin:7px 0 0;
  color:#9db0bc;
  font-size:10px;
  line-height:1.45
}

.loaded-section-head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center
}

.loaded-section-head>div{
  display:grid;
  gap:3px
}

.loaded-section-head span{
  color:#718da1;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em
}

.loaded-section-head strong{
  color:#d7e2e7;
  font-size:12px
}

.loaded-section-head>b{
  color:var(--mint);
  font-size:15px
}

.loaded-section-title{
  margin-bottom:9px;
  color:#9eb4c1;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em
}

.loaded-component-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px
}

.loaded-component{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:8px;
  align-items:center;
  padding:11px;
  border:1px solid rgba(113,148,171,.16);
  border-radius:9px;
  background:#0a1926;
  color:var(--text);
  text-align:left;
  cursor:pointer
}

.loaded-component:hover:not(:disabled),
.loaded-component.selected{
  border-color:rgba(100,227,192,.45);
  background:rgba(13,42,46,.48)
}

.loaded-component.missing{
  border-color:rgba(219,164,90,.38)
}

.loaded-component.invalid{
  border-color:rgba(219,164,90,.5);
  background:rgba(54,38,23,.42)
}

.loaded-component>div{
  display:grid;
  gap:3px
}

.loaded-component strong{
  font-size:10px;
  line-height:1.35
}

.loaded-component small{
  color:#8098a7;
  font-size:9px;
  line-height:1.35
}

.loaded-component>b{
  color:#d5e2e8;
  font-size:11px;
  white-space:nowrap
}

.loaded-component>span{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:7px;
  border:1px solid rgba(113,148,171,.16);
  color:#8ba2b0;
  font-size:11px
}

.loaded-component.selected>span{
  border-color:rgba(100,227,192,.3);
  color:var(--mint);
  background:rgba(100,227,192,.06)
}

.m02-loaded-feedback{
  display:grid;
  gap:7px;
  margin-top:12px
}


/* 04 · Cost View Brief */

.m02-cost-view-difference{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:14px
}

.m02-cost-view-difference>div{
  display:grid;
  gap:4px;
  padding:13px 14px;
  border:1px solid rgba(113,148,171,.14);
  border-radius:10px;
  background:#081522
}

.m02-cost-view-difference span{
  color:#7fa2b8;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em
}

.m02-cost-view-difference strong{
  color:#d7e2e7;
  font-size:12px
}


/* Responsive */

@media(max-width:1050px){
  .focus-reference-fields{
    grid-template-columns:repeat(3,minmax(0,1fr))
  }

  .loaded-component-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}

@media(max-width:760px){
  .m02-question-grid,
  .m02-choice-row,
  .cost-stack-summary,
  .loaded-component-grid,
  .m02-cost-view-difference{
    grid-template-columns:1fr
  }

  .m02-case-card,
  .focus-cost-summary{
    align-items:flex-start;
    flex-direction:column
  }

  .focus-cost-summary>div:last-child{
    text-align:left
  }

  .focus-reference-fields{
    grid-template-columns:1fr
  }

  .timeline-bars{
    overflow-x:auto;
    grid-template-columns:repeat(12,54px)
  }
}



/* === M03 ANOMALY INVESTIGATION === */

/* ---------------------------------------------------------
   Shared
   --------------------------------------------------------- */

.m03-section-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin:18px 0 9px
}

.m03-section-head>div{
  display:flex;
  gap:9px;
  align-items:center
}

.m03-section-head span{
  display:grid;
  place-items:center;
  min-width:28px;
  height:24px;
  padding:0 7px;
  border:1px solid rgba(106,168,255,.22);
  border-radius:6px;
  background:rgba(106,168,255,.05);
  color:#8dbaff;
  font-size:9px;
  font-weight:800
}

.m03-section-head strong{
  color:#cddbe3;
  font-size:11px;
  line-height:1.4
}

.m03-takeaway{
  margin-top:13px;
  padding:12px 14px;
  border:1px solid rgba(100,227,192,.16);
  border-left:3px solid var(--mint);
  border-radius:0 10px 10px 0;
  background:rgba(100,227,192,.045)
}

.m03-takeaway strong{
  display:block;
  margin-bottom:4px;
  color:var(--mint);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.06em
}

.m03-takeaway p{
  margin:0;
  color:#b8c8d1;
  font-size:11px;
  line-height:1.5
}


/* ---------------------------------------------------------
   01 · Signal Room
   --------------------------------------------------------- */

.m03-alert-banner{
  position:relative;
  overflow:hidden;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  margin:14px 0 11px;
  padding:15px 17px;
  border:1px solid rgba(230,155,75,.28);
  border-radius:13px;
  background:
    linear-gradient(90deg,rgba(80,44,20,.38),rgba(8,21,34,.95) 48%)
}

.m03-alert-banner:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:3px;
  height:100%;
  background:#e4a052
}

.m03-alert-banner>div:first-child{
  display:grid;
  gap:4px
}

.m03-alert-banner>div:first-child span{
  color:#e0a462;
  font-size:9px;
  font-weight:800;
  letter-spacing:.11em
}

.m03-alert-banner>div:first-child strong{
  color:#e0e8ec;
  font-size:15px
}

.m03-alert-metric{
  display:grid;
  grid-template-columns:auto auto;
  column-gap:11px;
  align-items:baseline;
  text-align:right
}

.m03-alert-metric small{
  grid-column:1 / -1;
  color:#8199a8;
  font-size:9px
}

.m03-alert-metric strong{
  color:#f0f4f6;
  font-size:20px
}

.m03-alert-metric span{
  color:#e5a35b;
  font-size:11px;
  font-weight:800
}

.m03-signal-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-bottom:14px
}

.m03-signal-summary>div{
  display:grid;
  gap:4px;
  padding:10px 12px;
  border:1px solid rgba(113,148,171,.13);
  border-radius:9px;
  background:#081522
}

.m03-signal-summary span{
  color:#718da1;
  font-size:8.5px;
  text-transform:uppercase;
  letter-spacing:.07em
}

.m03-signal-summary strong{
  color:#d3dfe5;
  font-size:13px
}

.m03-signal-summary .primary{
  border-color:rgba(230,155,75,.22);
  background:rgba(70,42,22,.25)
}

.m03-signal-summary .primary strong{
  color:#e4a45e
}

.m03-signal-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px
}

.m03-signal-card{
  display:grid;
  gap:10px;
  padding:12px 13px;
  border:1px solid rgba(113,148,171,.15);
  border-radius:11px;
  background:#081522;
  color:var(--text);
  text-align:left;
  cursor:pointer
}

.m03-signal-card:hover:not(:disabled),
.m03-signal-card.selected{
  border-color:rgba(106,168,255,.42);
  background:rgba(18,42,61,.56)
}

.m03-signal-card.correct{
  border-color:rgba(100,227,192,.42);
  background:rgba(13,46,43,.36)
}

.m03-signal-card.wrong{
  border-color:rgba(222,157,81,.4);
  background:rgba(58,39,22,.32)
}

.m03-signal-title{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px
}

.m03-signal-title strong{
  color:#d5e0e6;
  font-size:11px
}

.m03-signal-title span{
  padding:3px 6px;
  border-radius:5px;
  font-size:8px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em
}

.m03-signal-title .anomaly{
  border:1px solid rgba(230,155,75,.28);
  background:rgba(230,155,75,.08);
  color:#e2a25d
}

.m03-signal-title .normal{
  border:1px solid rgba(100,227,192,.18);
  background:rgba(100,227,192,.05);
  color:#82cbb7
}

.m03-signal-values{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px
}

.m03-signal-values>div{
  display:grid;
  gap:3px;
  min-width:0
}

.m03-signal-values small{
  color:#6f899a;
  font-size:8px
}

.m03-signal-values b{
  overflow:hidden;
  color:#b9c9d2;
  font-size:9.5px;
  font-weight:700;
  text-overflow:ellipsis;
  white-space:nowrap
}

.m03-response-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px
}

.m03-response-card{
  min-height:58px;
  padding:11px 12px;
  border:1px solid rgba(113,148,171,.15);
  border-radius:9px;
  background:#091724;
  color:#b9c9d2;
  text-align:left;
  cursor:pointer
}

.m03-response-card:hover:not(:disabled),
.m03-response-card.selected{
  border-color:rgba(106,168,255,.42);
  background:rgba(18,42,61,.52)
}

.m03-response-card.correct{
  border-color:rgba(100,227,192,.42);
  background:rgba(13,46,43,.36)
}

.m03-response-card.wrong{
  border-color:rgba(222,157,81,.4);
  background:rgba(58,39,22,.32)
}

.m03-response-card strong{
  font-size:10.5px;
  line-height:1.4
}


/* ---------------------------------------------------------
   02 · Drilldown
   --------------------------------------------------------- */

.m03-drill-path{
  margin:14px 0 13px;
  padding:12px 13px;
  border:1px solid rgba(113,148,171,.14);
  border-radius:11px;
  background:#081522
}

.m03-drill-path>span{
  display:block;
  margin-bottom:8px;
  color:#708c9e;
  font-size:8.5px;
  text-transform:uppercase;
  letter-spacing:.08em
}

.m03-drill-path>div{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px
}

.m03-drill-path>div>div{
  position:relative;
  display:grid;
  gap:3px;
  padding:8px 9px;
  border:1px solid rgba(113,148,171,.11);
  border-radius:7px;
  background:#0a1926
}

.m03-drill-path>div>div:not(:last-child):after{
  content:"›";
  position:absolute;
  top:50%;
  right:-7px;
  z-index:2;
  transform:translateY(-50%);
  color:#536d7f;
  font-size:15px
}

.m03-drill-path small{
  color:#6d8798;
  font-size:8px;
  text-transform:uppercase
}

.m03-drill-path strong{
  overflow:hidden;
  color:#879eac;
  font-size:9.5px;
  text-overflow:ellipsis;
  white-space:nowrap
}

.m03-drill-path .active{
  border-color:rgba(106,168,255,.32)
}

.m03-drill-path .active strong{
  color:#9ec6ff
}

.m03-drill-path .resolved{
  border-color:rgba(100,227,192,.2);
  background:rgba(12,40,40,.34)
}

.m03-drill-path .resolved strong{
  color:#a7cfc5
}

.m03-drill-question{
  display:grid;
  gap:4px;
  margin-bottom:9px;
  padding:10px 12px;
  border-left:3px solid #6aa8ff;
  background:rgba(106,168,255,.04)
}

.m03-drill-question span{
  color:#718da1;
  font-size:8.5px;
  text-transform:uppercase;
  letter-spacing:.07em
}

.m03-drill-question strong{
  color:#d4e0e6;
  font-size:11.5px
}

.m03-drill-table{
  overflow:hidden;
  border:1px solid rgba(113,148,171,.14);
  border-radius:10px;
  background:#081522
}

.m03-drill-row{
  width:100%;
  display:grid;
  grid-template-columns:1.6fr repeat(3,.8fr);
  gap:12px;
  align-items:center;
  padding:10px 12px;
  border:0;
  border-bottom:1px solid rgba(113,148,171,.08);
  background:transparent;
  color:#afc0c9;
  text-align:left
}

button.m03-drill-row{
  cursor:pointer
}

button.m03-drill-row:hover{
  background:rgba(106,168,255,.055)
}

.m03-drill-row:last-child{
  border-bottom:0
}

.m03-drill-row.head{
  background:#0b1a27;
  color:#6f899a;
  font-size:8.5px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em
}

.m03-drill-row strong{
  color:#d1dde3;
  font-size:10.5px
}

.m03-drill-row span{
  font-size:9.5px
}

.m03-drill-row b{
  font-size:10px
}

.m03-drill-row b.positive{
  color:#e2a35e
}

.m03-drill-row b.negative{
  color:#85c6b4
}

.m03-finding-card{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  margin-top:14px;
  padding:14px 16px;
  border:1px solid rgba(100,227,192,.2);
  border-radius:11px;
  background:rgba(12,40,40,.3)
}

.m03-finding-card>div{
  display:grid;
  gap:4px
}

.m03-finding-card span,
.m03-finding-card small{
  color:#748f9f;
  font-size:8.5px;
  text-transform:uppercase;
  letter-spacing:.07em
}

.m03-finding-card strong{
  color:#d7e3e7;
  font-size:14px
}

.m03-finding-card>div:last-child{
  text-align:right
}

.m03-finding-card>div:last-child strong{
  color:#e3a45f;
  font-size:17px
}


/* ---------------------------------------------------------
   03 · Evidence Timeline
   --------------------------------------------------------- */

.m03-evidence-target{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  margin:13px 0 8px;
  padding:9px 12px;
  border:1px solid rgba(113,148,171,.12);
  border-radius:8px;
  background:#081522
}

.m03-evidence-target span{
  color:#708c9e;
  font-size:8.5px;
  text-transform:uppercase;
  letter-spacing:.07em
}

.m03-evidence-target strong{
  color:#9fc5f7;
  font-family:Consolas,Monaco,monospace;
  font-size:10px
}

.m03-evidence-instruction{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin-bottom:10px
}

.m03-evidence-instruction strong{
  color:#c7d5dc;
  font-size:10.5px
}

.m03-evidence-instruction span{
  color:#8da3b0;
  font-size:9px;
  white-space:nowrap
}

.m03-timeline{
  position:relative;
  display:grid;
  gap:6px;
  padding-left:17px
}

.m03-timeline:before{
  content:"";
  position:absolute;
  top:12px;
  bottom:12px;
  left:5px;
  width:1px;
  background:rgba(106,168,255,.19)
}

.m03-timeline-event{
  position:relative;
  display:grid;
  grid-template-columns:50px 1fr 24px;
  gap:10px;
  align-items:flex-start;
  width:100%;
  padding:10px 11px;
  border:1px solid rgba(113,148,171,.13);
  border-radius:9px;
  background:#081522;
  color:var(--text);
  text-align:left;
  cursor:pointer
}

.m03-timeline-event:before{
  content:"";
  position:absolute;
  top:16px;
  left:-16px;
  width:7px;
  height:7px;
  border:2px solid #6f91aa;
  border-radius:50%;
  background:#07131f
}

.m03-timeline-event:hover:not(:disabled),
.m03-timeline-event.selected{
  border-color:rgba(106,168,255,.36);
  background:rgba(17,41,59,.44)
}

.m03-timeline-event.selected:before{
  border-color:#6aa8ff;
  box-shadow:0 0 0 3px rgba(106,168,255,.08)
}

.m03-timeline-event.strong{
  border-left:3px solid var(--mint)
}

.m03-timeline-event.counter{
  border-left:3px solid #6aa8ff
}

.m03-timeline-event.weak{
  opacity:.76
}

.m03-event-time{
  padding-top:2px;
  color:#89a4b5;
  font-family:Consolas,Monaco,monospace;
  font-size:9px;
  font-weight:700
}

.m03-event-content{
  display:grid;
  gap:4px
}

.m03-event-title{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center
}

.m03-event-title strong{
  color:#d2dee4;
  font-size:10.5px
}

.m03-event-title span{
  padding:2px 6px;
  border:1px solid rgba(113,148,171,.16);
  border-radius:5px;
  color:#829aa9;
  font-size:7.5px;
  font-weight:800;
  text-transform:uppercase
}

.m03-event-title span.strong{
  border-color:rgba(100,227,192,.22);
  color:#79c3ae
}

.m03-event-title span.counter{
  border-color:rgba(106,168,255,.24);
  color:#8dbaff
}

.m03-event-title span.weak{
  color:#8c9499
}

.m03-event-title span.context{
  border-color:rgba(230,155,75,.22);
  color:#d89c59
}

.m03-event-content p{
  margin:0;
  color:#9fb1bc;
  font-size:9.5px;
  line-height:1.42
}

.m03-event-content small{
  color:#7d96a5;
  font-size:8.5px;
  line-height:1.4
}

.m03-event-select{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border:1px solid rgba(113,148,171,.16);
  border-radius:6px;
  color:#8297a5;
  font-size:10px
}

.m03-timeline-event.selected .m03-event-select{
  border-color:rgba(106,168,255,.32);
  color:#a9ccff;
  background:rgba(106,168,255,.06)
}

.m03-hypothesis-panel{
  margin-top:14px
}

.m03-hypothesis-panel>span{
  display:block;
  margin-bottom:7px;
  color:#718da1;
  font-size:8.5px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em
}

.m03-hypothesis-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px
}

.m03-hypothesis{
  display:grid;
  gap:5px;
  padding:11px 12px;
  border:1px solid rgba(113,148,171,.14);
  border-radius:9px;
  background:#091724;
  color:var(--text);
  text-align:left;
  cursor:pointer
}

.m03-hypothesis:hover:not(:disabled),
.m03-hypothesis.selected{
  border-color:rgba(106,168,255,.4);
  background:rgba(18,42,61,.5)
}

.m03-hypothesis.correct{
  border-color:rgba(100,227,192,.4);
  background:rgba(13,46,43,.34)
}

.m03-hypothesis.wrong{
  border-color:rgba(222,157,81,.4);
  background:rgba(58,39,22,.3)
}

.m03-hypothesis strong{
  color:#d0dde3;
  font-size:10.5px
}

.m03-hypothesis small{
  color:#8fa5b2;
  font-size:9px;
  line-height:1.4
}

.m03-action-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px
}

.m03-action-card{
  display:grid;
  gap:5px;
  min-height:77px;
  padding:11px 12px;
  border:1px solid rgba(113,148,171,.14);
  border-radius:9px;
  background:#091724;
  color:var(--text);
  text-align:left;
  cursor:pointer
}

.m03-action-card:hover:not(:disabled),
.m03-action-card.selected{
  border-color:rgba(106,168,255,.4);
  background:rgba(18,42,61,.5)
}

.m03-action-card.correct{
  border-color:rgba(100,227,192,.42);
  background:rgba(13,46,43,.34)
}

.m03-action-card.wrong{
  border-color:rgba(222,157,81,.4);
  background:rgba(58,39,22,.3)
}

.m03-action-card strong{
  color:#d0dde3;
  font-size:10.5px;
  line-height:1.4
}

.m03-action-card small{
  color:#8fa5b2;
  font-size:9px;
  line-height:1.4
}


/* ---------------------------------------------------------
   04 · Incident Brief
   --------------------------------------------------------- */

.m03-brief-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-top:14px
}

.m03-brief-actions>div{
  display:grid;
  gap:5px;
  padding:12px 14px;
  border:1px solid rgba(113,148,171,.14);
  border-radius:10px;
  background:#081522
}

.m03-brief-actions>div:first-child{
  border-left:3px solid var(--mint)
}

.m03-brief-actions>div:last-child{
  border-left:3px solid #6aa8ff
}

.m03-brief-actions span{
  color:#718da1;
  font-size:8.5px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em
}

.m03-brief-actions strong{
  color:#cbd9e0;
  font-size:10.5px;
  line-height:1.5
}


/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */

@media(max-width:1050px){
  .m03-signal-summary{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

  .m03-signal-values{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}

@media(max-width:760px){
  .m03-alert-banner{
    align-items:flex-start;
    flex-direction:column
  }

  .m03-alert-metric{
    text-align:left
  }

  .m03-signal-summary,
  .m03-signal-grid,
  .m03-response-grid,
  .m03-hypothesis-grid,
  .m03-action-grid,
  .m03-brief-actions{
    grid-template-columns:1fr
  }

  .m03-drill-path{
    overflow-x:auto
  }

  .m03-drill-path>div{
    min-width:620px
  }

  .m03-drill-table{
    overflow-x:auto
  }

  .m03-drill-row{
    min-width:620px
  }

  .m03-timeline-event{
    grid-template-columns:44px 1fr 22px
  }

  .m03-event-title{
    align-items:flex-start;
    flex-direction:column
  }
}



/* === M04 BLACK FRIDAY PLANNING === */

/* ---------------------------------------------------------
   Shared
   --------------------------------------------------------- */

.m04-section-title{
  display:flex;
  align-items:center;
  gap:8px;
  margin:16px 0 9px
}

.m04-section-title span{
  color:#8da7b7;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em
}

.m04-takeaway{
  margin-top:13px;
  padding:12px 14px;
  border:1px solid rgba(100,227,192,.17);
  border-left:3px solid var(--mint);
  border-radius:0 10px 10px 0;
  background:rgba(100,227,192,.045)
}

.m04-takeaway strong{
  display:block;
  margin-bottom:4px;
  color:var(--mint);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.06em
}

.m04-takeaway p{
  margin:0;
  color:#b9c9d1;
  font-size:11px;
  line-height:1.5
}


/* ---------------------------------------------------------
   01 · Baseline Lab
   --------------------------------------------------------- */

.m04-history-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin:14px 0 9px;
  padding:13px 15px;
  border:1px solid rgba(106,168,255,.16);
  border-radius:11px;
  background:#081522
}

.m04-history-header>div:first-child{
  display:grid;
  gap:4px
}

.m04-history-header>div:first-child span{
  color:#78a7df;
  font-size:8.5px;
  font-weight:800;
  letter-spacing:.09em
}

.m04-history-header>div:first-child strong{
  color:#d8e3e8;
  font-size:13px
}

.m04-history-kpis{
  display:flex;
  gap:22px
}

.m04-history-kpis>div{
  display:grid;
  gap:3px;
  text-align:right
}

.m04-history-kpis small{
  color:#718a9b;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.05em
}

.m04-history-kpis strong{
  color:#d0dce2;
  font-size:11px
}

.m04-history-kpis>div:nth-child(2) strong{
  color:var(--mint)
}

.m04-history-chart{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
  height:205px;
  padding:13px 15px 10px;
  border:1px solid rgba(113,148,171,.13);
  border-radius:11px;
  background:
    linear-gradient(
      to bottom,
      rgba(113,148,171,.055) 1px,
      transparent 1px
    );
  background-size:100% 25%;
  background-color:#081522
}

.m04-history-month{
  display:grid;
  grid-template-rows:1fr auto;
  gap:7px;
  min-width:0;
  text-align:center
}

.m04-history-bar-zone{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  min-height:145px;
  border-bottom:1px solid rgba(113,148,171,.14)
}

.m04-history-bar{
  position:relative;
  width:58%;
  min-height:22px;
  border-radius:5px 5px 0 0;
  background:linear-gradient(180deg,#619be0,#345f91)
}

.m04-history-bar.latest{
  background:linear-gradient(180deg,var(--mint),#258b78)
}

.m04-history-bar span{
  position:absolute;
  bottom:100%;
  left:50%;
  margin-bottom:5px;
  transform:translateX(-50%);
  color:#b8c9d2;
  font-size:8px;
  white-space:nowrap
}

.m04-history-month>strong{
  color:#859eae;
  font-size:9px
}

.m04-baseline-question{
  margin-top:14px;
  padding:14px;
  border:1px solid rgba(113,148,171,.13);
  border-radius:11px;
  background:#081522
}

.m04-baseline-question>span{
  display:block;
  margin-bottom:4px;
  color:#7191a8;
  font-size:8.5px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em
}

.m04-baseline-question h4{
  margin:0 0 11px;
  color:#d4dfe5;
  font-size:12px;
  line-height:1.45
}

.m04-method-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px
}

.m04-method-card{
  display:grid;
  gap:5px;
  min-height:68px;
  padding:11px 12px;
  border:1px solid rgba(113,148,171,.15);
  border-radius:9px;
  background:#0a1926;
  color:var(--text);
  text-align:left;
  cursor:pointer
}

.m04-method-card:hover:not(:disabled),
.m04-method-card.selected{
  border-color:rgba(106,168,255,.42);
  background:rgba(18,42,61,.53)
}

.m04-method-card.correct{
  border-color:rgba(100,227,192,.4);
  background:rgba(13,46,43,.34)
}

.m04-method-card.wrong{
  border-color:rgba(220,158,82,.4);
  background:rgba(58,39,22,.3)
}

.m04-method-card strong{
  color:#d1dde3;
  font-size:10.5px;
  line-height:1.4
}

.m04-method-card small{
  color:#8ea3b0;
  font-size:9px;
  line-height:1.4
}

.m04-m03-bridge{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:18px;
  align-items:center;
  margin-top:14px;
  padding:11px 13px;
  border:1px solid rgba(230,155,75,.17);
  border-left:3px solid #dda05d;
  border-radius:0 9px 9px 0;
  background:rgba(67,43,24,.22)
}

.m04-m03-bridge>div{
  display:grid;
  gap:3px
}

.m04-m03-bridge span{
  color:#d49857;
  font-size:8px;
  font-weight:800;
  letter-spacing:.07em
}

.m04-m03-bridge strong{
  color:#e5a45f;
  font-size:15px
}

.m04-m03-bridge p{
  margin:0;
  color:#aebdc5;
  font-size:10px;
  line-height:1.45
}


/* ---------------------------------------------------------
   02 · Assumption Board
   --------------------------------------------------------- */

.m04-assumption-intro{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  margin:13px 0 11px;
  padding:12px 14px;
  border:1px solid rgba(106,168,255,.14);
  border-radius:10px;
  background:#081522
}

.m04-assumption-intro>div{
  display:grid;
  gap:3px;
  min-width:180px
}

.m04-assumption-intro span{
  color:#79a6dc;
  font-size:8.5px;
  font-weight:800;
  letter-spacing:.08em
}

.m04-assumption-intro strong{
  color:#d3dfe4;
  font-size:11px
}

.m04-assumption-intro p{
  margin:0;
  max-width:700px;
  color:#9fb1bc;
  font-size:10px;
  line-height:1.45
}

.m04-assumption-board{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px
}

.m04-assumption-card{
  padding:12px;
  border:1px solid rgba(113,148,171,.14);
  border-radius:10px;
  background:#081522
}

.m04-assumption-card.correct{
  border-left:3px solid var(--mint)
}

.m04-assumption-card.wrong{
  border-left:3px solid #dda05d
}

.m04-assumption-title>div{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center
}

.m04-assumption-title span{
  padding:3px 6px;
  border:1px solid rgba(113,148,171,.15);
  border-radius:5px;
  color:#7893a4;
  font-size:7.5px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em
}

.m04-assumption-title strong{
  color:#d3dfe5;
  font-size:11px
}

.m04-assumption-card>p{
  min-height:39px;
  margin:8px 0 10px;
  color:#9bafba;
  font-size:9.5px;
  line-height:1.45
}

.m04-assumption-choice{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px
}

.m04-assumption-choice button{
  padding:8px 9px;
  border:1px solid rgba(113,148,171,.14);
  border-radius:7px;
  background:#0a1926;
  color:#839aa9;
  font-size:8.5px;
  font-weight:800;
  cursor:pointer
}

.m04-assumption-choice button:hover:not(:disabled){
  border-color:rgba(106,168,255,.35);
  color:#b8c9d2
}

.m04-assumption-choice button.selected:first-child{
  border-color:rgba(100,227,192,.34);
  background:rgba(13,46,43,.32);
  color:#9ed6c7
}

.m04-assumption-choice button.selected:last-child{
  border-color:rgba(106,168,255,.3);
  background:rgba(18,42,61,.42);
  color:#9fc5f5
}

.m04-assumption-feedback{
  margin-top:9px;
  padding-top:8px;
  border-top:1px solid rgba(113,148,171,.09)
}

.m04-assumption-feedback strong{
  display:block;
  margin-bottom:3px;
  font-size:9px
}

.m04-assumption-feedback p{
  margin:0;
  color:#95aab6;
  font-size:9px;
  line-height:1.4
}

.m04-assumption-feedback.ok strong{
  color:var(--mint)
}

.m04-assumption-feedback.needs-review strong{
  color:#dca15d
}


/* ---------------------------------------------------------
   03 · Q4 Forecast Builder
   --------------------------------------------------------- */

.m04-forecast-method{
  display:grid;
  grid-template-columns:2fr repeat(2,1fr);
  gap:8px;
  margin:13px 0 11px
}

.m04-forecast-method>div{
  display:grid;
  gap:4px;
  padding:10px 12px;
  border:1px solid rgba(113,148,171,.13);
  border-radius:9px;
  background:#081522
}

.m04-forecast-method span,
.m04-forecast-method small{
  color:#718c9e;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.06em
}

.m04-forecast-method strong{
  color:#d2dee4;
  font-size:10.5px;
  line-height:1.4
}

.m04-forecast-method>div:nth-child(3) strong{
  color:var(--mint)
}

.m04-month-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px
}

.m04-month-card{
  padding:12px;
  border:1px solid rgba(113,148,171,.14);
  border-radius:11px;
  background:#081522
}

.m04-month-card:nth-child(2){
  border-color:rgba(230,155,75,.22);
  background:
    linear-gradient(
      180deg,
      rgba(77,45,23,.22),
      rgba(8,21,34,1) 42%
    )
}

.m04-month-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center
}

.m04-month-head strong{
  color:#d4e0e5;
  font-size:12px
}

.m04-month-head span{
  color:#d6e3e8;
  font-size:14px;
  font-weight:800
}

.m04-month-card:nth-child(2) .m04-month-head span{
  color:#e3a45f
}

.m04-forecast-bar{
  overflow:hidden;
  height:5px;
  margin:9px 0 11px;
  border-radius:99px;
  background:#102838
}

.m04-forecast-bar>div{
  height:100%;
  border-radius:99px;
  background:linear-gradient(90deg,#4e8ed5,var(--mint))
}

.m04-month-card:nth-child(2) .m04-forecast-bar>div{
  background:linear-gradient(90deg,#d18442,#e7ad67)
}

.m04-cost-stack{
  display:grid;
  gap:6px
}

.m04-cost-stack>div{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  padding:6px 0;
  border-bottom:1px solid rgba(113,148,171,.07)
}

.m04-cost-stack>div:last-child{
  border-bottom:0
}

.m04-cost-stack span{
  color:#7991a0;
  font-size:8.5px
}

.m04-cost-stack strong{
  color:#b9c9d2;
  font-size:9.5px
}

.m04-cost-stack .event strong{
  color:#dfa15d
}

.m04-cost-stack .muted{
  opacity:.55
}

.m04-cost-stack .total{
  margin-top:2px;
  padding-top:8px;
  border-top:1px solid rgba(113,148,171,.15);
  border-bottom:0
}

.m04-cost-stack .total span{
  color:#95aab6;
  font-weight:800
}

.m04-cost-stack .total strong{
  color:var(--mint);
  font-size:11px
}

.m04-q4-comparison{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:11px
}

.m04-q4-comparison>div{
  display:grid;
  gap:4px;
  padding:10px 12px;
  border:1px solid rgba(113,148,171,.13);
  border-radius:9px;
  background:#081522
}

.m04-q4-comparison span{
  color:#718a9b;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.06em
}

.m04-q4-comparison strong{
  color:#d1dde3;
  font-size:13px
}

.m04-q4-comparison small{
  color:#839aa9;
  font-size:8.5px
}

.m04-q4-comparison .primary{
  border-color:rgba(100,227,192,.23);
  background:rgba(13,46,43,.28)
}

.m04-q4-comparison .primary strong{
  color:var(--mint)
}

.m04-confidence-panel{
  margin-top:10px;
  border:1px solid rgba(106,168,255,.13);
  border-radius:9px;
  background:#081522
}

.m04-confidence-panel summary{
  padding:9px 11px;
  color:#9fc0d5;
  font-size:9.5px;
  font-weight:700;
  cursor:pointer
}

.m04-confidence-panel ul{
  margin:0;
  padding:0 28px 6px
}

.m04-confidence-panel li{
  margin:4px 0;
  color:#94a9b5;
  font-size:9px
}

.m04-confidence-panel p{
  margin:0;
  padding:5px 11px 10px;
  color:#829aa9;
  font-size:9px;
  line-height:1.4
}


/* ---------------------------------------------------------
   04 · Budget & Variance Room
   --------------------------------------------------------- */

.m04-budget-policy{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  margin:13px 0 10px;
  padding:12px 14px;
  border:1px solid rgba(106,168,255,.16);
  border-left:3px solid #6aa8ff;
  border-radius:0 10px 10px 0;
  background:rgba(15,36,53,.48)
}

.m04-budget-policy>div{
  display:grid;
  gap:4px;
  min-width:150px
}

.m04-budget-policy span{
  color:#79a8df;
  font-size:8px;
  font-weight:800;
  letter-spacing:.07em
}

.m04-budget-policy strong{
  color:#d3dfe5;
  font-size:11px
}

.m04-budget-policy p{
  margin:0;
  max-width:740px;
  color:#9fb1bc;
  font-size:9.5px;
  line-height:1.45
}

.m04-budget-equation{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1.2fr;
  gap:8px;
  align-items:center;
  margin-bottom:14px
}

.m04-budget-equation>div:not(.operator){
  display:grid;
  gap:4px;
  padding:11px 12px;
  border:1px solid rgba(113,148,171,.13);
  border-radius:9px;
  background:#081522
}

.m04-budget-equation span{
  color:#718b9c;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.06em
}

.m04-budget-equation strong{
  color:#d1dde3;
  font-size:15px
}

.m04-budget-equation .operator{
  color:#55758b;
  font-size:17px;
  font-weight:800
}

.m04-budget-equation .primary{
  border-color:rgba(100,227,192,.24)!important;
  background:rgba(13,46,43,.3)!important
}

.m04-budget-equation .primary strong{
  color:var(--mint)
}

.m04-budget-options{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px
}

.m04-budget-card{
  display:grid;
  gap:5px;
  min-height:66px;
  padding:11px 12px;
  border:1px solid rgba(113,148,171,.14);
  border-radius:9px;
  background:#081522;
  color:var(--text);
  text-align:left;
  cursor:pointer
}

.m04-budget-card:hover:not(:disabled),
.m04-budget-card.selected{
  border-color:rgba(106,168,255,.4);
  background:rgba(18,42,61,.5)
}

.m04-budget-card.correct{
  border-color:rgba(100,227,192,.42);
  background:rgba(13,46,43,.34)
}

.m04-budget-card.wrong{
  border-color:rgba(220,158,82,.4);
  background:rgba(58,39,22,.3)
}

.m04-budget-card strong{
  color:#d3dfe4;
  font-size:13px
}

.m04-budget-card span{
  color:#899fac;
  font-size:8.8px;
  line-height:1.4
}

.m04-alert-thresholds{
  margin-top:15px;
  padding:11px 13px;
  border:1px solid rgba(113,148,171,.13);
  border-radius:10px;
  background:#081522
}

.m04-alert-thresholds .m04-section-title{
  margin-top:0
}

.m04-threshold-row{
  display:grid;
  grid-template-columns:42px 1fr 95px 180px;
  gap:10px;
  align-items:center;
  padding:7px 0;
  border-bottom:1px solid rgba(113,148,171,.07)
}

.m04-threshold-row:last-child{
  border-bottom:0
}

.m04-threshold-row>strong{
  color:#9eb6c4;
  font-size:9.5px
}

.m04-threshold-track{
  overflow:hidden;
  height:5px;
  border-radius:99px;
  background:#102939
}

.m04-threshold-track>div{
  height:100%;
  border-radius:99px;
  background:linear-gradient(90deg,#4f8ed4,var(--mint))
}

.m04-threshold-row:nth-child(4) .m04-threshold-track>div{
  background:linear-gradient(90deg,#d28543,#e7a35f)
}

.m04-threshold-row>span{
  color:#c2d0d7;
  font-size:9.5px;
  text-align:right
}

.m04-threshold-row>small{
  color:#7d96a5;
  font-size:8.5px
}

.m04-variance-event{
  margin-top:14px;
  padding:13px;
  border:1px solid rgba(230,155,75,.18);
  border-radius:11px;
  background:
    linear-gradient(
      180deg,
      rgba(67,42,23,.2),
      rgba(8,21,34,1) 35%
    )
}

.m04-event-header{
  margin-bottom:11px
}

.m04-event-header>div{
  display:grid;
  gap:4px
}

.m04-event-header span{
  color:#d39755;
  font-size:8px;
  font-weight:800;
  letter-spacing:.08em
}

.m04-event-header strong{
  max-width:850px;
  color:#d6e0e5;
  font-size:11px;
  line-height:1.45
}

.m04-oct-variance{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-bottom:11px
}

.m04-oct-variance>div{
  display:grid;
  gap:3px;
  padding:9px 10px;
  border:1px solid rgba(113,148,171,.12);
  border-radius:8px;
  background:#091724
}

.m04-oct-variance span{
  color:#718a9b;
  font-size:8px;
  text-transform:uppercase
}

.m04-oct-variance strong{
  color:#d0dce2;
  font-size:11px
}

.m04-oct-variance small{
  color:#dda05c;
  font-size:8px
}

.m04-reforecast-grid{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:7px;
  align-items:center
}

.m04-reforecast-grid>div:not(.arrow){
  display:grid;
  gap:4px;
  padding:9px 10px;
  border:1px solid rgba(113,148,171,.12);
  border-radius:8px;
  background:#091724
}

.m04-reforecast-grid>div:nth-child(n+4){
  margin-top:2px
}

.m04-reforecast-grid span{
  color:#718a9b;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.04em
}

.m04-reforecast-grid strong{
  color:#ccd9df;
  font-size:11px
}

.m04-reforecast-grid .arrow{
  color:#5b788c;
  font-size:16px;
  text-align:center
}

.m04-reforecast-grid .changed{
  border-color:rgba(106,168,255,.22)!important;
  background:rgba(18,42,61,.42)!important
}

.m04-reforecast-grid .changed strong{
  color:#9ec6fa
}

.m04-budget-status{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:10px
}

.m04-budget-status>div{
  display:grid;
  gap:3px;
  padding:10px 12px;
  border:1px solid rgba(113,148,171,.12);
  border-radius:8px;
  background:#091724
}

.m04-budget-status span{
  color:#718a9b;
  font-size:8px;
  text-transform:uppercase
}

.m04-budget-status strong{
  color:#d1dde3;
  font-size:13px
}

.m04-budget-status .primary{
  border-color:rgba(100,227,192,.22);
  background:rgba(13,46,43,.28)
}

.m04-budget-status .primary strong{
  color:var(--mint)
}

.m04-variance-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px
}

.m04-variance-card{
  min-height:58px;
  padding:10px 11px;
  border:1px solid rgba(113,148,171,.14);
  border-radius:8px;
  background:#091724;
  color:var(--text);
  text-align:left;
  cursor:pointer
}

.m04-variance-card:hover:not(:disabled),
.m04-variance-card.selected{
  border-color:rgba(106,168,255,.4);
  background:rgba(18,42,61,.5)
}

.m04-variance-card.correct{
  border-color:rgba(100,227,192,.42);
  background:rgba(13,46,43,.34)
}

.m04-variance-card.wrong{
  border-color:rgba(220,158,82,.4);
  background:rgba(58,39,22,.3)
}

.m04-variance-card strong{
  color:#d1dde3;
  font-size:10px;
  line-height:1.4
}


/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */

@media(max-width:1100px){
  .m04-history-header{
    align-items:flex-start;
    flex-direction:column
  }

  .m04-history-kpis{
    width:100%;
    justify-content:space-between
  }

  .m04-history-kpis>div{
    text-align:left
  }

  .m04-budget-options{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

  .m04-threshold-row{
    grid-template-columns:42px 1fr 85px
  }

  .m04-threshold-row>small{
    grid-column:2 / -1
  }
}

@media(max-width:760px){
  .m04-history-chart{
    overflow-x:auto;
    grid-template-columns:repeat(6,72px)
  }

  .m04-method-grid,
  .m04-assumption-board,
  .m04-month-grid,
  .m04-q4-comparison,
  .m04-budget-options,
  .m04-oct-variance,
  .m04-budget-status,
  .m04-variance-options{
    grid-template-columns:1fr
  }

  .m04-m03-bridge,
  .m04-assumption-intro,
  .m04-budget-policy{
    grid-template-columns:1fr;
    align-items:flex-start
  }

  .m04-assumption-intro,
  .m04-budget-policy{
    flex-direction:column
  }

  .m04-forecast-method{
    grid-template-columns:1fr
  }

  .m04-budget-equation{
    grid-template-columns:1fr
  }

  .m04-budget-equation .operator{
    text-align:center
  }

  .m04-reforecast-grid{
    grid-template-columns:1fr
  }

  .m04-reforecast-grid .arrow{
    transform:rotate(90deg)
  }

  .m04-threshold-row{
    grid-template-columns:38px 1fr
  }

  .m04-threshold-row>span,
  .m04-threshold-row>small{
    grid-column:2
  }

  .m04-threshold-row>span{
    text-align:left
  }
}



/* === M05 OPTIMIZATION WORKBENCH === */

/* ---------------------------------------------------------
   Shared
   --------------------------------------------------------- */

.m05-section-kicker{
  margin:15px 0 9px;
  color:#7698aa;
  font-size:8.5px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase
}

.m05-takeaway{
  margin-top:13px;
  padding:12px 14px;
  border:1px solid rgba(100,227,192,.17);
  border-left:3px solid var(--mint);
  border-radius:0 10px 10px 0;
  background:rgba(100,227,192,.045)
}

.m05-takeaway strong{
  display:block;
  margin-bottom:4px;
  color:var(--mint);
  font-size:9.5px;
  text-transform:uppercase;
  letter-spacing:.07em
}

.m05-takeaway p{
  margin:0;
  color:#b6c7d0;
  font-size:10.5px;
  line-height:1.5
}

.m05-principle{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:20px;
  align-items:center;
  margin:13px 0 11px;
  padding:12px 14px;
  border:1px solid rgba(100,227,192,.16);
  border-left:3px solid var(--mint);
  border-radius:0 10px 10px 0;
  background:
    linear-gradient(
      90deg,
      rgba(20,67,61,.26),
      rgba(8,21,34,.95)
    )
}

.m05-principle>div{
  display:grid;
  gap:3px
}

.m05-principle span{
  color:#70bdaa;
  font-size:8px;
  font-weight:800;
  letter-spacing:.08em
}

.m05-principle strong{
  color:#cfe5df;
  font-size:11px
}

.m05-principle p{
  margin:0;
  color:#9eb1bc;
  font-size:9.5px;
  line-height:1.45
}


/* ---------------------------------------------------------
   01 · Utilization Radar
   --------------------------------------------------------- */

.m05-radar-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  margin:12px 0 9px;
  padding:10px 12px;
  border:1px solid rgba(106,168,255,.13);
  border-radius:9px;
  background:#081522
}

.m05-radar-head span{
  flex:none;
  color:#79a8df;
  font-size:8.5px;
  font-weight:800;
  letter-spacing:.09em
}

.m05-radar-head p{
  margin:0;
  max-width:800px;
  color:#95aab6;
  font-size:9.5px;
  line-height:1.45
}

.m05-radar-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px
}

.m05-radar-card{
  position:relative;
  padding:12px;
  border:1px solid rgba(113,148,171,.14);
  border-radius:10px;
  background:
    linear-gradient(
      180deg,
      rgba(17,38,54,.28),
      rgba(8,21,34,1) 45%
    )
}

.m05-radar-card.correct{
  border-left:3px solid var(--mint)
}

.m05-radar-card.wrong{
  border-left:3px solid #dda05d
}

.m05-radar-title{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start
}

.m05-radar-title>div:first-child{
  display:grid;
  gap:3px
}

.m05-radar-title span{
  color:#7397aa;
  font-size:7.5px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase
}

.m05-radar-title strong{
  color:#d6e1e6;
  font-size:11.5px
}

.m05-radar-result{
  display:grid;
  place-items:center;
  width:23px;
  height:23px;
  border-radius:50%;
  font-size:11px;
  font-weight:900
}

.m05-radar-result.ok{
  border:1px solid rgba(100,227,192,.3);
  background:rgba(20,72,63,.42);
  color:var(--mint)
}

.m05-radar-result.needs-review{
  border:1px solid rgba(221,160,93,.3);
  background:rgba(75,49,25,.38);
  color:#dda05d
}

.m05-signal-list{
  margin-top:9px;
  padding:8px 10px;
  border:1px solid rgba(113,148,171,.09);
  border-radius:7px;
  background:#091825
}

.m05-signal-list>span{
  color:#68899d;
  font-size:7.5px;
  font-weight:800;
  text-transform:uppercase
}

.m05-signal-list ul{
  margin:6px 0 0;
  padding-left:17px
}

.m05-signal-list li{
  margin:3px 0;
  color:#9eb0ba;
  font-size:9px;
  line-height:1.35
}

.m05-classification{
  margin-top:9px
}

.m05-classification>span{
  display:block;
  margin-bottom:5px;
  color:#68899d;
  font-size:7.5px;
  font-weight:800;
  text-transform:uppercase
}

.m05-classification-buttons{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:5px
}

.m05-classification-buttons button{
  min-height:34px;
  padding:6px 7px;
  border:1px solid rgba(113,148,171,.13);
  border-radius:6px;
  background:#0b1a27;
  color:#8098a7;
  font-size:7.8px;
  font-weight:800;
  cursor:pointer
}

.m05-classification-buttons button:hover:not(:disabled),
.m05-classification-buttons button.selected{
  border-color:rgba(106,168,255,.38);
  background:rgba(24,49,69,.52);
  color:#b5cad6
}

.m05-classification-buttons button.correct{
  border-color:rgba(100,227,192,.4);
  background:rgba(13,50,45,.36);
  color:#a8dfd0
}

.m05-classification-buttons button.wrong{
  border-color:rgba(221,160,93,.4);
  background:rgba(67,43,24,.34);
  color:#e0ad74
}

.m05-radar-feedback{
  margin-top:9px;
  padding-top:8px;
  border-top:1px solid rgba(113,148,171,.08)
}

.m05-radar-feedback strong{
  display:block;
  margin-bottom:3px;
  font-size:8.5px
}

.m05-radar-feedback p{
  margin:0;
  color:#96aab5;
  font-size:9px;
  line-height:1.4
}

.m05-radar-feedback.ok strong{
  color:var(--mint)
}

.m05-radar-feedback.needs-review strong{
  color:#dda05d
}


/* ---------------------------------------------------------
   Workload banner
   --------------------------------------------------------- */

.m05-workload-banner{
  display:grid;
  grid-template-columns:240px 1fr;
  gap:18px;
  align-items:center;
  margin:13px 0 10px;
  padding:11px 13px;
  border:1px solid rgba(106,168,255,.16);
  border-left:3px solid #6aa8ff;
  border-radius:0 9px 9px 0;
  background:rgba(18,42,61,.34)
}

.m05-workload-banner>div{
  display:grid;
  gap:3px
}

.m05-workload-banner span{
  color:#78a7dd;
  font-size:8px;
  font-weight:800;
  letter-spacing:.08em
}

.m05-workload-banner strong{
  color:#d4e0e6;
  font-size:12px
}

.m05-workload-banner p{
  margin:0;
  color:#9fb2bd;
  font-size:10px;
  line-height:1.45
}


/* ---------------------------------------------------------
   02 · Rightsizing Simulator
   --------------------------------------------------------- */

.m05-current-config{
  padding:11px 13px;
  border:1px solid rgba(113,148,171,.13);
  border-radius:9px;
  background:#081522
}

.m05-current-config>span{
  display:block;
  margin-bottom:8px;
  color:#7191a4;
  font-size:8px;
  font-weight:800;
  letter-spacing:.07em
}

.m05-current-metrics{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:6px
}

.m05-current-metrics>div{
  display:grid;
  gap:3px;
  padding:7px 8px;
  border:1px solid rgba(113,148,171,.08);
  border-radius:6px;
  background:#0a1926
}

.m05-current-metrics small{
  color:#6f8999;
  font-size:7.2px;
  text-transform:uppercase
}

.m05-current-metrics strong{
  color:#c5d3da;
  font-size:9px;
  line-height:1.3
}

.m05-rightsizing-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px
}

.m05-sizing-card{
  display:grid;
  gap:10px;
  padding:12px;
  border:1px solid rgba(113,148,171,.14);
  border-radius:10px;
  background:#081522;
  color:var(--text);
  text-align:left;
  cursor:pointer
}

.m05-sizing-card:hover:not(:disabled),
.m05-sizing-card.selected{
  border-color:rgba(106,168,255,.42);
  background:rgba(18,42,61,.48)
}

.m05-sizing-card.correct{
  border-color:rgba(100,227,192,.42);
  background:
    linear-gradient(
      180deg,
      rgba(14,61,53,.3),
      rgba(8,21,34,1) 48%
    )
}

.m05-sizing-card.wrong{
  border-color:rgba(221,160,93,.4);
  background:
    linear-gradient(
      180deg,
      rgba(68,43,23,.3),
      rgba(8,21,34,1) 48%
    )
}

.m05-sizing-head{
  display:grid;
  gap:4px
}

.m05-sizing-head strong{
  color:#d5e0e6;
  font-size:11px
}

.m05-sizing-head span{
  color:#7892a2;
  font-size:8.5px
}

.m05-sizing-metrics{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px
}

.m05-sizing-metrics>div{
  display:grid;
  gap:2px;
  padding:7px 8px;
  border:1px solid rgba(113,148,171,.08);
  border-radius:6px;
  background:#091825
}

.m05-sizing-metrics span{
  color:#708998;
  font-size:7.3px;
  text-transform:uppercase
}

.m05-sizing-metrics strong{
  color:#c2d0d7;
  font-size:9.5px
}

.m05-sizing-metrics .safe strong{
  color:#9dd5c7
}

.m05-sizing-metrics .risk{
  border-color:rgba(221,160,93,.18);
  background:rgba(65,42,24,.24)
}

.m05-sizing-metrics .risk strong{
  color:#dda05d
}

.m05-sizing-metrics .opportunity{
  grid-column:1/-1;
  border-color:rgba(100,227,192,.12)
}

.m05-sizing-metrics .opportunity strong{
  color:var(--mint)
}

.m05-validation-panel{
  margin-top:11px;
  padding:10px 12px;
  border:1px solid rgba(106,168,255,.13);
  border-radius:8px;
  background:#081522
}

.m05-validation-panel>strong{
  display:block;
  margin-bottom:5px;
  color:#93b9d2;
  font-size:8.5px;
  text-transform:uppercase;
  letter-spacing:.05em
}

.m05-validation-panel ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px 20px;
  margin:0;
  padding-left:17px
}

.m05-validation-panel li{
  color:#91a7b3;
  font-size:9px
}


/* ---------------------------------------------------------
   03 · Elasticity Lab
   --------------------------------------------------------- */

.m05-demand-panel{
  padding:11px 13px;
  border:1px solid rgba(113,148,171,.13);
  border-radius:9px;
  background:#081522
}

.m05-demand-panel>span{
  display:block;
  margin-bottom:8px;
  color:#7594a7;
  font-size:8px;
  font-weight:800;
  letter-spacing:.07em
}

.m05-demand-grid{
  display:grid;
  gap:7px
}

.m05-demand-row{
  display:grid;
  grid-template-columns:105px 1fr 90px;
  gap:9px;
  align-items:center
}

.m05-demand-row>strong{
  color:#a6bac5;
  font-size:8.5px
}

.m05-demand-track{
  overflow:hidden;
  height:6px;
  border-radius:99px;
  background:#102937
}

.m05-demand-track>div{
  height:100%;
  border-radius:99px;
  background:linear-gradient(90deg,#4d8bd0,var(--mint))
}

.m05-demand-row:last-child .m05-demand-track>div{
  background:linear-gradient(90deg,#d18742,#e7a85f)
}

.m05-demand-row>span{
  color:#849ba9;
  font-size:8.5px;
  text-align:right
}

.m05-elastic-current{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:12px;
  align-items:center;
  margin-top:9px;
  padding:9px 11px;
  border:1px solid rgba(113,148,171,.11);
  border-radius:8px;
  background:#091825
}

.m05-elastic-current>span{
  color:#7694a6;
  font-size:8px;
  font-weight:800;
  letter-spacing:.06em
}

.m05-elastic-current>div{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px
}

.m05-elastic-current>div>div{
  display:grid;
  gap:2px
}

.m05-elastic-current small{
  color:#6e8797;
  font-size:7px;
  text-transform:uppercase
}

.m05-elastic-current strong{
  color:#becdd4;
  font-size:9.5px
}

.m05-elasticity-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px
}

.m05-elasticity-card{
  display:grid;
  gap:10px;
  padding:12px;
  border:1px solid rgba(113,148,171,.14);
  border-radius:10px;
  background:#081522;
  color:var(--text);
  text-align:left;
  cursor:pointer
}

.m05-elasticity-card:hover:not(:disabled),
.m05-elasticity-card.selected{
  border-color:rgba(106,168,255,.4);
  background:rgba(18,42,61,.48)
}

.m05-elasticity-card.correct{
  border-color:rgba(100,227,192,.42);
  background:rgba(13,50,45,.28)
}

.m05-elasticity-card.wrong{
  border-color:rgba(221,160,93,.4);
  background:rgba(67,43,24,.28)
}

.m05-elasticity-head{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:flex-start
}

.m05-elasticity-head>strong{
  color:#d3dfe5;
  font-size:10.5px
}

.m05-elasticity-head>span{
  padding:3px 6px;
  border-radius:5px;
  font-size:7px;
  font-weight:800;
  text-transform:uppercase;
  white-space:nowrap
}

.m05-elasticity-head .safe{
  border:1px solid rgba(100,227,192,.2);
  background:rgba(13,50,45,.28);
  color:#94cfbf
}

.m05-elasticity-head .risk{
  border:1px solid rgba(221,160,93,.2);
  background:rgba(67,43,24,.28);
  color:#dda05d
}

.m05-elasticity-metrics{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px
}

.m05-elasticity-metrics>div{
  display:grid;
  gap:2px;
  padding:7px 8px;
  border:1px solid rgba(113,148,171,.08);
  border-radius:6px;
  background:#091825
}

.m05-elasticity-metrics span{
  color:#6f8999;
  font-size:7.2px;
  text-transform:uppercase
}

.m05-elasticity-metrics strong{
  color:#c3d1d8;
  font-size:9.5px
}

.m05-elasticity-metrics .opportunity{
  grid-column:1/-1;
  border-color:rgba(100,227,192,.12)
}

.m05-elasticity-metrics .opportunity strong{
  color:var(--mint)
}


/* ---------------------------------------------------------
   04 · Architecture Trade-off Canvas
   --------------------------------------------------------- */

.m05-tradeoff-header{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  margin:13px 0 10px;
  padding:10px 12px;
  border:1px solid rgba(106,168,255,.13);
  border-radius:9px;
  background:#081522
}

.m05-tradeoff-header span{
  color:#79a8df;
  font-size:8.5px;
  font-weight:800;
  letter-spacing:.08em
}

.m05-tradeoff-header p{
  margin:0;
  color:#8fa5b1;
  font-size:9.5px
}

.m05-tradeoff-section{
  margin-top:10px;
  padding:12px;
  border:1px solid rgba(113,148,171,.13);
  border-radius:10px;
  background:#081522
}

.m05-tradeoff-title{
  display:flex;
  justify-content:space-between;
  gap:15px;
  align-items:center;
  margin-bottom:9px
}

.m05-tradeoff-title span{
  color:#7695a8;
  font-size:8px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em
}

.m05-tradeoff-title strong{
  max-width:760px;
  color:#d2dee4;
  font-size:10.5px;
  line-height:1.4;
  text-align:right
}

.m05-evidence-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  margin-bottom:9px
}

.m05-evidence-strip>div{
  display:grid;
  gap:3px;
  padding:7px 8px;
  border:1px solid rgba(113,148,171,.08);
  border-radius:6px;
  background:#091825
}

.m05-evidence-strip small{
  color:#6f8999;
  font-size:7.2px;
  text-transform:uppercase
}

.m05-evidence-strip strong{
  color:#c4d2d9;
  font-size:10px
}

.m05-tradeoff-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px
}

.m05-tradeoff-options button,
.m05-rollout-options button{
  min-height:55px;
  padding:9px 10px;
  border:1px solid rgba(113,148,171,.13);
  border-radius:7px;
  background:#0a1926;
  color:#9cafb9;
  text-align:left;
  cursor:pointer
}

.m05-tradeoff-options button:hover:not(:disabled),
.m05-rollout-options button:hover:not(:disabled),
.m05-tradeoff-options button.selected,
.m05-rollout-options button.selected{
  border-color:rgba(106,168,255,.38);
  background:rgba(18,42,61,.48);
  color:#c1d0d7
}

.m05-tradeoff-options button.correct,
.m05-rollout-options button.correct{
  border-color:rgba(100,227,192,.4);
  background:rgba(13,50,45,.3)
}

.m05-tradeoff-options button.wrong,
.m05-rollout-options button.wrong{
  border-color:rgba(221,160,93,.4);
  background:rgba(67,43,24,.28)
}

.m05-tradeoff-options strong{
  color:#c6d3da;
  font-size:9px;
  line-height:1.4
}

.m05-rollout-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px
}

.m05-rollout-options button{
  font-size:9px;
  line-height:1.4
}

.m05-inline-feedback{
  margin-top:9px;
  padding:8px 10px;
  border-radius:7px;
  background:#091825
}

.m05-inline-feedback strong{
  display:block;
  margin-bottom:3px;
  font-size:8.5px
}

.m05-inline-feedback p{
  margin:0;
  color:#94a8b3;
  font-size:9px;
  line-height:1.4
}

.m05-inline-feedback.ok{
  border-left:3px solid var(--mint)
}

.m05-inline-feedback.ok>strong{
  color:var(--mint)
}

.m05-inline-feedback.needs-review{
  border-left:3px solid #dda05d
}

.m05-inline-feedback.needs-review>strong{
  color:#dda05d
}

.m05-impact-pair{
  display:flex;
  gap:20px;
  margin-top:7px;
  padding-top:7px;
  border-top:1px solid rgba(113,148,171,.08)
}

.m05-impact-pair span{
  color:#7f97a5;
  font-size:8px
}

.m05-impact-pair strong{
  display:inline;
  margin-left:5px;
  color:#a8d9cb;
  font-size:9px
}


/* ---------------------------------------------------------
   Opportunity summary
   --------------------------------------------------------- */

.m05-opportunity-summary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  align-items:center;
  margin-top:12px;
  padding:12px 14px;
  border:1px solid rgba(100,227,192,.2);
  border-radius:10px;
  background:
    linear-gradient(
      90deg,
      rgba(13,50,45,.34),
      rgba(8,21,34,.96)
    )
}

.m05-opportunity-summary>div:first-child{
  display:grid;
  gap:3px
}

.m05-opportunity-summary>div:first-child span{
  color:#70bba9;
  font-size:8px;
  font-weight:800;
  letter-spacing:.07em
}

.m05-opportunity-summary>div:first-child strong{
  color:var(--mint);
  font-size:18px
}

.m05-opportunity-summary>div:first-child small{
  color:#8098a6;
  font-size:8px
}

.m05-opportunity-breakdown{
  display:flex;
  justify-content:flex-end;
  gap:8px
}

.m05-opportunity-breakdown span{
  display:grid;
  gap:3px;
  min-width:115px;
  padding:8px 10px;
  border:1px solid rgba(113,148,171,.1);
  border-radius:7px;
  background:#091825;
  color:#79909f;
  font-size:8px
}

.m05-opportunity-breakdown strong{
  color:#c5d4da;
  font-size:10px
}


/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */

@media(max-width:1100px){

  .m05-current-metrics{
    grid-template-columns:repeat(4,minmax(0,1fr))
  }

  .m05-radar-grid{
    grid-template-columns:1fr
  }

  .m05-evidence-strip{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}

@media(max-width:760px){

  .m05-principle,
  .m05-workload-banner,
  .m05-elastic-current,
  .m05-opportunity-summary{
    grid-template-columns:1fr
  }

  .m05-radar-head,
  .m05-tradeoff-header,
  .m05-tradeoff-title{
    align-items:flex-start;
    flex-direction:column
  }

  .m05-tradeoff-title strong{
    text-align:left
  }

  .m05-current-metrics,
  .m05-rightsizing-grid,
  .m05-elasticity-grid,
  .m05-evidence-strip,
  .m05-tradeoff-options,
  .m05-rollout-options{
    grid-template-columns:1fr
  }

  .m05-classification-buttons{
    grid-template-columns:1fr
  }

  .m05-demand-row{
    grid-template-columns:90px 1fr
  }

  .m05-demand-row>span{
    grid-column:2;
    text-align:left
  }

  .m05-elastic-current>div{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

  .m05-validation-panel ul{
    grid-template-columns:1fr
  }

  .m05-opportunity-breakdown{
    justify-content:flex-start;
    flex-wrap:wrap
  }
}



/* === M05 READABILITY OVERRIDE === */

/* Texto operativo */
.workspace [class*="m05-"] p,
.workspace [class*="m05-"] li{
  font-size:10.5px !important;
  line-height:1.48
}

/* Microetiquetas */
.workspace [class*="m05-"] small,
.workspace [class*="m05-"] span{
  font-size:9.5px
}

/* Controles y opciones */
.workspace [class*="m05-"] button{
  font-size:10.5px !important;
  line-height:1.4
}

/* Valores y encabezados */
.workspace [class*="m05-"] strong{
  font-size:11px
}

/* Mantener jerarquía de métricas principales */
.m05-opportunity-summary>div:first-child strong{
  font-size:20px !important
}

.m05-workload-banner strong,
.m05-radar-title strong,
.m05-month-head strong{
  font-size:12px
}

.m05-sizing-metrics strong,
.m05-elasticity-metrics strong,
.m05-current-metrics strong,
.m05-evidence-strip strong{
  font-size:10.5px
}

.m05-section-kicker,
.m05-principle span,
.m05-radar-head span,
.m05-tradeoff-header span{
  font-size:9.5px
}


/* === M06 CLOUD CAPACITY CONTROL ROOM === */


/* ---------------------------------------------------------
   Mission workspace
   --------------------------------------------------------- */

.m06-workspace{
  --m06-blue:#72aef2;
  --m06-cyan:#68d4df;
  --m06-mint:#6fe0bd;
  --m06-amber:#e4a65f;
  --m06-red:#e27777;
  --m06-panel:#081622;
  --m06-panel-2:#0a1b29;
  --m06-border:rgba(117,164,191,.14);
  --m06-muted:#91a8b5;
}

.m06-workspace p,
.m06-workspace li{
  font-size:10.5px;
  line-height:1.5
}

.m06-workspace small{
  font-size:9.5px
}

.m06-workspace button,
.m06-workspace select,
.m06-workspace input{
  font-size:10.5px
}

.m06-workspace label,
.m06-workspace span{
  font-size:9.5px
}


/* ---------------------------------------------------------
   Principle
   --------------------------------------------------------- */

.m06-principle{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:18px;
  align-items:center;
  margin:13px 0 12px;
  padding:12px 14px;
  border:1px solid rgba(104,212,223,.18);
  border-left:3px solid var(--m06-cyan);
  border-radius:0 10px 10px 0;
  background:
    linear-gradient(
      90deg,
      rgba(24,68,79,.34),
      rgba(8,22,34,.97)
    )
}

.m06-principle span{
  color:var(--m06-cyan);
  font-weight:800;
  letter-spacing:.08em
}

.m06-principle strong{
  color:#d2e5e9;
  font-size:11px;
  line-height:1.45
}


/* ---------------------------------------------------------
   Stage 01 · Baseline
   --------------------------------------------------------- */

.m06-baseline-total{
  display:grid;
  grid-template-columns:1fr 1fr 1.35fr;
  gap:8px;
  margin:12px 0
}

.m06-baseline-total>div{
  display:grid;
  gap:4px;
  padding:10px 12px;
  border:1px solid var(--m06-border);
  border-radius:8px;
  background:
    linear-gradient(
      180deg,
      rgba(20,43,59,.36),
      rgba(8,22,34,.98)
    )
}

.m06-baseline-total span{
  color:#7896a8;
  font-size:8.5px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase
}

.m06-baseline-total strong{
  color:#d2dfe5;
  font-size:13px
}

.m06-baseline-total>div:first-child strong{
  color:var(--m06-mint);
  font-size:18px
}


.m06-cluster-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px
}

.m06-cluster-card{
  position:relative;
  overflow:hidden;
  min-height:230px;
  padding:13px;
  border:1px solid rgba(114,174,242,.15);
  border-radius:11px;
  background:
    linear-gradient(
      180deg,
      rgba(18,45,65,.46),
      rgba(8,22,34,.98) 42%
    )
}

.m06-cluster-card:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:2px;
  background:
    linear-gradient(
      90deg,
      var(--m06-blue),
      var(--m06-cyan)
    )
}

.m06-cluster-head{
  display:grid;
  gap:4px
}

.m06-cluster-head span{
  color:#7095ab;
  font-size:8.5px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em
}

.m06-cluster-head strong{
  color:#d9e5ea;
  font-size:12px
}

.m06-cluster-cost{
  display:grid;
  gap:3px;
  margin-top:12px;
  padding:9px 10px;
  border:1px solid rgba(111,224,189,.12);
  border-radius:7px;
  background:rgba(10,29,42,.62)
}

.m06-cluster-cost strong{
  color:var(--m06-mint);
  font-size:15px
}

.m06-cluster-cost span{
  color:#7896a7;
  font-size:9px
}


/* ---------------------------------------------------------
   Facts
   --------------------------------------------------------- */

.m06-fact-list{
  margin-top:11px
}

.m06-fact-list>span{
  color:#7592a3;
  font-size:8.5px;
  font-weight:800;
  text-transform:uppercase
}

.m06-fact-list ul{
  margin:7px 0 0;
  padding-left:17px
}

.m06-fact-list li{
  margin:4px 0;
  color:#9fb1bb;
  font-size:10px
}

.m06-fact-list.compact{
  min-height:110px;
  margin-top:8px;
  padding:8px 10px;
  border:1px solid rgba(117,164,191,.08);
  border-radius:7px;
  background:#091925
}


/* ---------------------------------------------------------
   Teaching rate card
   --------------------------------------------------------- */

.m06-rate-card{
  display:grid;
  grid-template-columns:200px 1fr;
  gap:15px;
  align-items:center;
  margin-top:10px;
  padding:11px 12px;
  border:1px solid rgba(104,212,223,.12);
  border-radius:9px;
  background:#081622
}

.m06-rate-card>div:first-child{
  display:grid;
  gap:3px
}

.m06-rate-card>div:first-child span{
  color:var(--m06-cyan);
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em
}

.m06-rate-card>div:first-child small{
  color:#7893a3
}

.m06-rate-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px
}

.m06-rate-grid>div{
  display:grid;
  gap:3px;
  padding:7px 8px;
  border:1px solid rgba(117,164,191,.08);
  border-radius:6px;
  background:#0a1b29
}

.m06-rate-grid span{
  color:#7691a2;
  font-size:8.5px
}

.m06-rate-grid strong{
  color:#c9d8df;
  font-size:10.5px
}


/* ---------------------------------------------------------
   Baseline decision
   --------------------------------------------------------- */

.m06-decision-panel{
  margin-top:11px;
  padding:12px;
  border:1px solid rgba(114,174,242,.14);
  border-radius:10px;
  background:#081622
}

.m06-panel-title{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:9px
}

.m06-panel-title>span{
  color:#6d91a7;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em
}

.m06-panel-title>strong{
  color:#cbd9df;
  font-size:10.5px;
  text-align:right
}

.m06-decision-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px
}

.m06-decision-btn{
  min-height:62px;
  padding:10px;
  border:1px solid rgba(117,164,191,.14);
  border-radius:7px;
  background:#0a1b29;
  color:#a1b4be;
  text-align:left;
  line-height:1.4;
  cursor:pointer
}

.m06-decision-btn:hover:not(:disabled),
.m06-decision-btn.selected{
  border-color:rgba(114,174,242,.4);
  background:rgba(20,46,65,.58);
  color:#d1dde2
}

.m06-decision-btn.correct{
  border-color:rgba(111,224,189,.42);
  background:rgba(17,61,53,.34)
}

.m06-decision-btn.wrong{
  border-color:rgba(228,166,95,.42);
  background:rgba(66,44,26,.32)
}

.m06-feedback{
  margin-top:9px;
  padding:9px 11px;
  border-radius:7px;
  background:#091925
}

.m06-feedback strong{
  display:block;
  margin-bottom:3px;
  font-size:10px
}

.m06-feedback p{
  margin:0;
  color:#9db0ba;
  font-size:10px
}

.m06-feedback.ok{
  border-left:3px solid var(--m06-mint)
}

.m06-feedback.ok strong{
  color:var(--m06-mint)
}

.m06-feedback.needs-review{
  border-left:3px solid var(--m06-amber)
}

.m06-feedback.needs-review strong{
  color:var(--m06-amber)
}


/* ---------------------------------------------------------
   Stage 02 · Production / Commitment Desk
   --------------------------------------------------------- */

.m06-prod-banner{
  display:grid;
  grid-template-columns:250px 1fr;
  gap:18px;
  align-items:center;
  margin:12px 0 10px;
  padding:11px 13px;
  border:1px solid rgba(114,174,242,.16);
  border-left:3px solid var(--m06-blue);
  border-radius:0 9px 9px 0;
  background:
    linear-gradient(
      90deg,
      rgba(24,49,69,.4),
      rgba(8,22,34,.97)
    )
}

.m06-prod-banner>div:first-child{
  display:grid;
  gap:3px
}

.m06-prod-banner>div:first-child span{
  color:#75a8df;
  font-size:8.5px;
  font-weight:800;
  letter-spacing:.08em
}

.m06-prod-banner>div:first-child strong{
  color:#d9e4e9;
  font-size:12px
}

.m06-prod-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px
}

.m06-prod-facts>div{
  display:grid;
  gap:2px;
  padding:7px 9px;
  border:1px solid rgba(117,164,191,.08);
  border-radius:6px;
  background:#091925
}

.m06-prod-facts span{
  color:#728e9e;
  font-size:8px;
  text-transform:uppercase
}

.m06-prod-facts strong{
  color:#cbd8de;
  font-size:11px
}


/* ---------------------------------------------------------
   Savings Plan caveat
   --------------------------------------------------------- */

.m06-caveat{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:15px;
  align-items:center;
  margin-bottom:10px;
  padding:10px 12px;
  border:1px solid rgba(228,166,95,.18);
  border-left:3px solid var(--m06-amber);
  border-radius:0 8px 8px 0;
  background:rgba(58,40,24,.25)
}

.m06-caveat strong{
  color:var(--m06-amber);
  font-size:9px;
  letter-spacing:.06em
}

.m06-caveat p{
  margin:0;
  color:#b0b1a9;
  font-size:10px
}


/* ---------------------------------------------------------
   Interactive controls
   --------------------------------------------------------- */

.m06-control-panel{
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:10px
}

.m06-control-block{
  padding:12px;
  border:1px solid var(--m06-border);
  border-radius:9px;
  background:#081622
}

.m06-control-block>label,
.m06-lab-control>label{
  display:block;
  margin-bottom:7px;
  color:#7895a6;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em
}

.m06-segmented{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px
}

.m06-segmented button{
  display:grid;
  gap:4px;
  min-height:57px;
  padding:8px;
  border:1px solid rgba(117,164,191,.12);
  border-radius:7px;
  background:#0a1b29;
  color:#93a7b2;
  text-align:left;
  cursor:pointer
}

.m06-segmented button:hover,
.m06-segmented button.selected{
  border-color:rgba(104,212,223,.4);
  background:rgba(20,52,66,.55)
}

.m06-segmented button strong{
  color:#c5d4db;
  font-size:9.5px;
  line-height:1.35
}

.m06-segmented button span{
  color:#78a6b3;
  font-size:8.5px
}


/* ---------------------------------------------------------
   Sliders
   --------------------------------------------------------- */

.m06-slider-title{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:8px
}

.m06-slider-title label{
  color:#7895a6;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase
}

.m06-slider-title strong{
  color:var(--m06-cyan);
  font-size:11px
}

.m06-workspace input[type="range"]{
  width:100%;
  accent-color:var(--m06-cyan);
  cursor:pointer
}

.m06-slider-scale{
  display:flex;
  justify-content:space-between;
  margin-top:4px
}

.m06-slider-scale span{
  color:#6d8796;
  font-size:8px
}

.m06-slider-scale span.stable{
  color:var(--m06-mint);
  font-weight:900
}

.m06-control-hint{
  margin:8px 0 0;
  color:#7f97a4;
  font-size:9.5px
}


/* ---------------------------------------------------------
   Live metrics
   --------------------------------------------------------- */

.m06-live-metrics{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:6px;
  margin-top:10px
}

.m06-live-metrics>div{
  display:grid;
  gap:3px;
  padding:8px 9px;
  border:1px solid rgba(117,164,191,.1);
  border-radius:7px;
  background:#091925
}

.m06-live-metrics span{
  color:#718c9c;
  font-size:8px;
  text-transform:uppercase
}

.m06-live-metrics strong{
  color:#c8d7dd;
  font-size:10.5px
}

.m06-live-metrics>div:first-child strong,
.m06-live-metrics>div:nth-child(2) strong{
  color:var(--m06-mint)
}

.m06-live-metrics .warning{
  border-color:rgba(228,166,95,.24);
  background:rgba(58,40,24,.24)
}

.m06-live-metrics .warning strong{
  color:var(--m06-amber)
}


/* ---------------------------------------------------------
   Commitment bar
   --------------------------------------------------------- */

.m06-commitment-visual{
  margin-top:9px;
  padding:10px 12px;
  border:1px solid rgba(117,164,191,.1);
  border-radius:8px;
  background:#081622
}

.m06-demand-bar{
  position:relative;
  overflow:hidden;
  height:12px;
  border-radius:99px;
  background:
    repeating-linear-gradient(
      90deg,
      #142c3d 0,
      #142c3d 9px,
      #102536 9px,
      #102536 18px
    )
}

.m06-demand-bar .committed{
  height:100%;
  border-radius:99px;
  background:
    linear-gradient(
      90deg,
      #4c87ca,
      #68d4df
    )
}

.m06-bar-legend{
  display:flex;
  gap:18px;
  margin-top:7px
}

.m06-bar-legend span,
.m06-mix-legend span{
  display:flex;
  gap:6px;
  align-items:center;
  color:#879ca8;
  font-size:8.5px
}

.m06-bar-legend i,
.m06-mix-legend i{
  display:block;
  width:8px;
  height:8px;
  border-radius:2px
}

.m06-bar-legend i.committed,
.m06-mix-legend i.committed{
  background:var(--m06-cyan)
}

.m06-bar-legend i.ondemand,
.m06-mix-legend i.ondemand{
  background:#7893a5
}

.m06-mix-legend i.spot{
  background:var(--m06-mint)
}


/* ---------------------------------------------------------
   CTO event
   --------------------------------------------------------- */

.m06-cto-event{
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:20px;
  margin-top:10px;
  padding:11px 13px;
  border:1px solid rgba(228,166,95,.2);
  border-radius:9px;
  background:
    linear-gradient(
      90deg,
      rgba(63,43,25,.32),
      rgba(8,22,34,.96)
    )
}

.m06-cto-event>div{
  display:grid;
  gap:3px
}

.m06-cto-event span{
  color:var(--m06-amber);
  font-size:8.5px;
  font-weight:900;
  letter-spacing:.07em
}

.m06-cto-event strong{
  color:#d4c6b7;
  font-size:10.5px;
  line-height:1.4
}

.m06-cto-event p{
  margin:0;
  color:#9d9c98;
  font-size:10px;
  line-height:1.45
}

.m06-guidance{
  margin-top:9px;
  padding:9px 11px;
  border-left:3px solid var(--m06-cyan);
  background:rgba(16,45,57,.22)
}

.m06-guidance strong{
  color:#9bd9dd;
  font-size:9.5px
}

.m06-guidance p{
  margin:3px 0 0;
  color:#97aab4;
  font-size:10px
}


/* ---------------------------------------------------------
   Stage 03 · Spot & Runtime
   --------------------------------------------------------- */

.m06-spot-principle{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:15px;
  align-items:center;
  margin:12px 0 10px;
  padding:10px 12px;
  border:1px solid rgba(111,224,189,.15);
  border-left:3px solid var(--m06-mint);
  border-radius:0 8px 8px 0;
  background:rgba(18,57,49,.22)
}

.m06-spot-principle span{
  color:var(--m06-mint);
  font-size:8.5px;
  font-weight:900;
  letter-spacing:.07em
}

.m06-spot-principle strong{
  color:#c6ddd6;
  font-size:10.5px
}

.m06-runtime-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px
}

.m06-runtime-lab{
  padding:12px;
  border:1px solid rgba(104,212,223,.14);
  border-radius:10px;
  background:
    linear-gradient(
      180deg,
      rgba(15,43,57,.38),
      rgba(8,22,34,.98) 35%
    )
}

.m06-runtime-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start
}

.m06-runtime-head>div{
  display:grid;
  gap:3px
}

.m06-runtime-head span{
  color:#7795a5;
  font-size:8.5px;
  font-weight:800;
  text-transform:uppercase
}

.m06-runtime-head strong{
  color:#d4e1e6;
  font-size:11.5px
}

.m06-runtime-head>strong{
  color:var(--m06-mint);
  font-size:15px
}

.m06-lab-control{
  margin-top:9px;
  padding:9px 10px;
  border:1px solid rgba(117,164,191,.09);
  border-radius:7px;
  background:#091925
}

.m06-lab-control select{
  width:100%;
  min-height:34px;
  padding:6px 8px;
  border:1px solid rgba(117,164,191,.16);
  border-radius:6px;
  background:#0b1d2a;
  color:#c5d2d9
}

.m06-runtime-metrics{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  margin-top:9px
}

.m06-runtime-metrics>div{
  display:grid;
  gap:3px;
  padding:7px 8px;
  border:1px solid rgba(117,164,191,.09);
  border-radius:6px;
  background:#091925
}

.m06-runtime-metrics span{
  color:#718b9b;
  font-size:8px;
  text-transform:uppercase
}

.m06-runtime-metrics strong{
  color:#c6d4db;
  font-size:10px
}

.m06-runtime-metrics .safe{
  border-color:rgba(111,224,189,.18)
}

.m06-runtime-metrics .safe strong{
  color:var(--m06-mint)
}

.m06-runtime-metrics .warning{
  border-color:rgba(228,166,95,.22);
  background:rgba(60,41,24,.24)
}

.m06-runtime-metrics .warning strong{
  color:var(--m06-amber)
}


/* ---------------------------------------------------------
   Stage 04 · Portfolio Builder
   --------------------------------------------------------- */

.m06-portfolio-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  margin:12px 0 9px
}

.m06-portfolio-kpis>div{
  display:grid;
  gap:3px;
  padding:10px 11px;
  border:1px solid rgba(117,164,191,.1);
  border-radius:8px;
  background:#081622
}

.m06-portfolio-kpis span{
  color:#748f9f;
  font-size:8.5px;
  text-transform:uppercase
}

.m06-portfolio-kpis strong{
  color:#cbd8df;
  font-size:13px
}

.m06-portfolio-kpis .primary{
  border-color:rgba(111,224,189,.2);
  background:rgba(16,53,46,.26)
}

.m06-portfolio-kpis .primary strong{
  color:var(--m06-mint);
  font-size:17px
}

.m06-cluster-cost-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px
}

.m06-cluster-cost-grid>div{
  display:grid;
  gap:3px;
  padding:9px 10px;
  border:1px solid rgba(117,164,191,.09);
  border-radius:7px;
  background:#091925
}

.m06-cluster-cost-grid span{
  color:#7792a2;
  font-size:8.5px;
  text-transform:uppercase
}

.m06-cluster-cost-grid strong{
  color:#cbd9df;
  font-size:12px
}

.m06-cluster-cost-grid small{
  color:#708795
}

.m06-portfolio-detail-grid{
  display:grid;
  grid-template-columns:1fr 1.3fr;
  gap:9px;
  margin-top:9px
}

.m06-portfolio-panel,
.m06-final-panel{
  padding:11px 12px;
  border:1px solid rgba(117,164,191,.11);
  border-radius:9px;
  background:#081622
}

.m06-detail-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px
}

.m06-detail-metrics>div{
  display:grid;
  gap:3px;
  padding:7px 8px;
  border:1px solid rgba(117,164,191,.08);
  border-radius:6px;
  background:#091925
}

.m06-detail-metrics span{
  color:#708a9a;
  font-size:8px;
  text-transform:uppercase
}

.m06-detail-metrics strong{
  color:#c7d5dc;
  font-size:10px
}

.m06-detail-metrics .warning{
  border-color:rgba(228,166,95,.22)
}

.m06-detail-metrics .warning strong{
  color:var(--m06-amber)
}


/* ---------------------------------------------------------
   Capacity mix
   --------------------------------------------------------- */

.m06-mix-bar{
  display:flex;
  overflow:hidden;
  height:14px;
  border-radius:99px;
  background:#102738
}

.m06-mix-bar>div{
  height:100%
}

.m06-mix-bar .committed{
  background:var(--m06-cyan)
}

.m06-mix-bar .ondemand{
  background:#7893a5
}

.m06-mix-bar .spot{
  background:var(--m06-mint)
}

.m06-mix-legend{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:8px
}

.m06-mix-legend strong{
  margin-left:3px;
  color:#bdccd3;
  font-size:9px
}

.m06-modeled-note{
  margin-top:9px;
  padding:9px 11px;
  border-left:3px solid var(--m06-mint);
  background:rgba(15,50,44,.23)
}

.m06-modeled-note strong{
  color:var(--m06-mint);
  font-size:8.5px;
  letter-spacing:.06em
}

.m06-modeled-note p{
  margin:3px 0 0;
  color:#96aaa8;
  font-size:10px
}

.form-actions.multi{
  display:flex;
  gap:8px;
  justify-content:flex-end;
  flex-wrap:wrap
}


/* ---------------------------------------------------------
   Stage 05 · Simulation ready
   --------------------------------------------------------- */

.m06-simulation-ready{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:18px;
  align-items:center;
  margin-top:13px;
  padding:16px;
  border:1px solid rgba(104,212,223,.18);
  border-radius:11px;
  background:
    radial-gradient(
      circle at 10% 0%,
      rgba(28,83,95,.26),
      transparent 40%
    ),
    #081622
}

.m06-simulation-ready>div{
  display:grid;
  gap:4px
}

.m06-simulation-ready span{
  color:var(--m06-cyan);
  font-size:8.5px;
  font-weight:900;
  letter-spacing:.07em
}

.m06-simulation-ready strong{
  color:#d8e5e9;
  font-size:16px
}

.m06-simulation-ready p{
  margin:0;
  color:#97abb5;
  font-size:10px
}


/* ---------------------------------------------------------
   Simulation summary
   --------------------------------------------------------- */

.m06-simulation-summary{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:6px;
  margin:12px 0 10px
}

.m06-simulation-summary>div{
  display:grid;
  gap:3px;
  padding:9px 10px;
  border:1px solid rgba(117,164,191,.1);
  border-radius:7px;
  background:#081622
}

.m06-simulation-summary span{
  color:#718c9b;
  font-size:8px;
  text-transform:uppercase
}

.m06-simulation-summary strong{
  color:#c8d6dc;
  font-size:10.5px
}

.m06-simulation-summary .primary{
  border-color:rgba(111,224,189,.2);
  background:rgba(15,50,44,.25)
}

.m06-simulation-summary .primary strong{
  color:var(--m06-mint);
  font-size:14px
}

.m06-simulation-summary .warning{
  border-color:rgba(228,166,95,.24)
}

.m06-simulation-summary .warning strong{
  color:var(--m06-amber)
}

.m06-simulation-summary .danger{
  border-color:rgba(226,119,119,.25)
}

.m06-simulation-summary .danger strong{
  color:var(--m06-red)
}


/* ---------------------------------------------------------
   Event timeline
   --------------------------------------------------------- */

.m06-event-timeline{
  display:grid;
  gap:6px;
  margin-top:9px
}

.m06-event{
  display:grid;
  grid-template-columns:60px 1fr;
  gap:10px;
  padding:9px 10px;
  border:1px solid rgba(117,164,191,.1);
  border-radius:8px;
  background:#081622
}

.m06-event.ok{
  border-left:3px solid rgba(114,174,242,.75)
}

.m06-event.mitigated{
  border-left:3px solid var(--m06-mint)
}

.m06-event.incident{
  border-left:3px solid var(--m06-amber);
  background:rgba(57,39,23,.18)
}

.m06-event-marker{
  display:grid;
  place-items:center;
  align-content:center;
  min-height:52px;
  border-right:1px solid rgba(117,164,191,.08)
}

.m06-event-marker span{
  color:#718a99;
  font-size:7.5px;
  text-transform:uppercase
}

.m06-event-marker strong{
  color:#d1dee3;
  font-size:15px
}

.m06-event-copy{
  display:grid;
  gap:3px
}

.m06-event-copy>div{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center
}

.m06-event-copy>div strong{
  color:#d1dde3;
  font-size:10.5px
}

.m06-event-copy>div span{
  padding:2px 6px;
  border-radius:4px;
  background:#102738;
  color:#7e9bab;
  font-size:7.5px;
  font-weight:900
}

.m06-event.mitigated .m06-event-copy>div span{
  background:rgba(20,61,53,.34);
  color:var(--m06-mint)
}

.m06-event.incident .m06-event-copy>div span{
  background:rgba(70,46,26,.34);
  color:var(--m06-amber)
}

.m06-event-copy p{
  margin:0;
  color:#8fa4af;
  font-size:9.5px
}

.m06-event-copy small{
  color:#afbec5;
  font-size:9.5px
}


/* ---------------------------------------------------------
   Final simulation panels
   --------------------------------------------------------- */

.m06-final-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:9px
}

.m06-profile-result{
  display:grid;
  grid-template-columns:210px 1fr;
  gap:18px;
  align-items:center;
  margin-top:9px;
  padding:11px 13px;
  border:1px solid rgba(117,164,191,.12);
  border-radius:9px;
  background:#081622
}

.m06-profile-result>div{
  display:grid;
  gap:3px
}

.m06-profile-result span{
  color:#738f9f;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase
}

.m06-profile-result strong{
  color:#d2dfe5;
  font-size:14px
}

.m06-profile-result p{
  margin:0;
  color:#98acb6;
  font-size:10px
}

.m06-profile-result.balanced{
  border-left:3px solid var(--m06-mint)
}

.m06-profile-result.balanced strong{
  color:var(--m06-mint)
}

.m06-profile-result.conservative{
  border-left:3px solid var(--m06-blue)
}

.m06-profile-result.conservative strong{
  color:var(--m06-blue)
}

.m06-profile-result.aggressive{
  border-left:3px solid var(--m06-amber)
}

.m06-profile-result.aggressive strong{
  color:var(--m06-amber)
}

.m06-simulation-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:10px;
  flex-wrap:wrap
}


/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */

@media(max-width:1150px){

  .m06-live-metrics,
  .m06-simulation-summary{
    grid-template-columns:repeat(3,minmax(0,1fr))
  }

  .m06-cluster-grid{
    grid-template-columns:1fr
  }

  .m06-cluster-card{
    min-height:auto
  }

  .m06-fact-list.compact{
    min-height:auto
  }
}

@media(max-width:850px){

  .m06-baseline-total,
  .m06-control-panel,
  .m06-runtime-grid,
  .m06-portfolio-detail-grid,
  .m06-final-grid,
  .m06-profile-result,
  .m06-simulation-ready{
    grid-template-columns:1fr
  }

  .m06-rate-card,
  .m06-prod-banner,
  .m06-cto-event,
  .m06-caveat,
  .m06-spot-principle,
  .m06-principle{
    grid-template-columns:1fr
  }

  .m06-rate-grid,
  .m06-portfolio-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

  .m06-prod-facts{
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
}

@media(max-width:620px){

  .m06-rate-grid,
  .m06-decision-options,
  .m06-segmented,
  .m06-live-metrics,
  .m06-prod-facts,
  .m06-portfolio-kpis,
  .m06-cluster-cost-grid,
  .m06-simulation-summary,
  .m06-detail-metrics{
    grid-template-columns:1fr
  }

  .m06-event{
    grid-template-columns:48px 1fr
  }

  .m06-event-copy>div{
    align-items:flex-start;
    flex-direction:column
  }
}



/* === M07 GREENOPS DECISION LAB === */

.m07-workspace {
  --m07-panel: rgba(12, 25, 30, .74);
  --m07-panel-strong: rgba(14, 31, 36, .92);
  --m07-line: rgba(141, 214, 186, .20);
  --m07-line-strong: rgba(141, 214, 186, .42);
  --m07-soft: rgba(141, 214, 186, .08);
  --m07-text-soft: rgba(226, 241, 235, .72);
  --m07-good: rgba(113, 224, 157, .18);
  --m07-warn: rgba(242, 194, 102, .16);
  --m07-bad: rgba(235, 109, 109, .16);

  display: flex;
  flex-direction: column;
  gap: 18px;
}


/* ---------------------------------------------------------
   Shared visual language
   --------------------------------------------------------- */

.m07-principle {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 18px;
  align-items: center;
  padding: 18px 20px;
  border: 1px solid var(--m07-line-strong);
  border-radius: 14px;
  background:
    linear-gradient(
      135deg,
      rgba(26, 68, 58, .34),
      rgba(11, 27, 32, .75)
    );
}

.m07-principle > span,
.m07-takeaway > span,
.m07-context-strip > span,
.m07-report-header span,
.m07-final-brief span {
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .12em;
  opacity: .78;
}

.m07-principle strong {
  font-size: 15px;
  line-height: 1.5;
  font-weight: 650;
}

.m07-context-strip {
  display: grid;
  grid-template-columns: 170px 1fr;
  gap: 18px;
  align-items: start;
  padding: 15px 18px;
  border: 1px solid var(--m07-line);
  border-radius: 12px;
  background: var(--m07-panel);
}

.m07-context-strip strong {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 600;
}

.m07-takeaway {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 16px;
  padding: 16px 18px;
  border-left: 4px solid rgba(116, 225, 168, .72);
  border-radius: 10px;
  background: rgba(39, 92, 70, .17);
}

.m07-takeaway strong {
  font-size: 14px;
  line-height: 1.55;
}

.m07-stage-feedback {
  padding: 16px 18px;
  border: 1px solid var(--m07-line);
  border-radius: 12px;
}

.m07-stage-feedback.ok {
  background: var(--m07-good);
  border-color: rgba(113, 224, 157, .38);
}

.m07-stage-feedback.needs-review {
  background: var(--m07-warn);
  border-color: rgba(242, 194, 102, .40);
}

.m07-stage-feedback strong {
  display: block;
  margin-bottom: 5px;
  font-size: 14px;
}

.m07-stage-feedback p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.55;
}


/* ---------------------------------------------------------
   Stage 01 · GHG Boundary Map
   --------------------------------------------------------- */

.m07-scope-reference {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.m07-scope-reference > div {
  padding: 15px 16px;
  min-height: 108px;
  border: 1px solid var(--m07-line);
  border-radius: 12px;
  background: var(--m07-panel);
}

.m07-scope-reference span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 70px;
  margin-bottom: 9px;
  padding: 5px 8px;
  border-radius: 999px;
  background: var(--m07-soft);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
}

.m07-scope-reference p {
  margin: 0;
  font-size: 13px;
  line-height: 1.48;
  color: var(--m07-text-soft);
}

.m07-boundary-board {
  overflow: hidden;
  border: 1px solid var(--m07-line);
  border-radius: 14px;
  background: var(--m07-panel-strong);
}

.m07-boundary-head,
.m07-boundary-row {
  display: grid;
  grid-template-columns:
    minmax(360px, 1fr)
    118px
    118px
    118px;
}

.m07-boundary-head {
  min-height: 48px;
  align-items: center;
  border-bottom: 1px solid var(--m07-line-strong);
  background: rgba(141, 214, 186, .08);
}

.m07-boundary-head > span {
  padding: 0 18px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .09em;
}

.m07-boundary-head > strong {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  border-left: 1px solid var(--m07-line);
  font-size: 11.5px;
}

.m07-boundary-row {
  min-height: 76px;
  border-bottom: 1px solid rgba(141, 214, 186, .11);
}

.m07-boundary-row:last-child {
  border-bottom: none;
}

.m07-boundary-row.correct {
  background: rgba(113, 224, 157, .035);
}

.m07-boundary-row.wrong {
  background: rgba(235, 109, 109, .035);
}

.m07-boundary-source {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  padding: 13px 18px;
}

.m07-boundary-source strong {
  font-size: 13.5px;
  line-height: 1.42;
}

.m07-boundary-source small {
  font-size: 12px;
  line-height: 1.45;
  color: var(--m07-text-soft);
}

.m07-scope-cell {
  min-height: 76px;
  padding: 8px;
  border: 0;
  border-left: 1px solid var(--m07-line);
  border-radius: 0;
  background: transparent;
  font-size: 12px;
  font-weight: 700;
  color: inherit;
  cursor: pointer;
  transition:
    background .16s ease,
    box-shadow .16s ease;
}

.m07-scope-cell:hover:not(:disabled) {
  background: rgba(141, 214, 186, .09);
}

.m07-scope-cell.selected {
  background: rgba(141, 214, 186, .16);
  box-shadow:
    inset 0 0 0 2px rgba(141, 214, 186, .32);
}

.m07-scope-cell.correct {
  background: rgba(113, 224, 157, .18);
  box-shadow:
    inset 0 0 0 2px rgba(113, 224, 157, .42);
}

.m07-scope-cell.wrong {
  background: rgba(235, 109, 109, .18);
  box-shadow:
    inset 0 0 0 2px rgba(235, 109, 109, .42);
}


/* ---------------------------------------------------------
   Stage 02 · GreenOps Control Board
   --------------------------------------------------------- */

.m07-principles-board {
  overflow: hidden;
  border: 1px solid var(--m07-line);
  border-radius: 14px;
  background: var(--m07-panel-strong);
}

.m07-principles-head,
.m07-principle-row {
  display: grid;
  grid-template-columns:
    minmax(390px, 1fr)
    repeat(6, 68px);
}

.m07-principles-head {
  min-height: 52px;
  align-items: center;
  border-bottom: 1px solid var(--m07-line-strong);
  background: rgba(141, 214, 186, .08);
}

.m07-principles-head > span {
  padding: 0 18px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
}

.m07-principles-head > strong {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  border-left: 1px solid var(--m07-line);
  font-size: 11px;
  cursor: help;
}

.m07-principle-row {
  min-height: 78px;
  border-bottom: 1px solid rgba(141, 214, 186, .11);
}

.m07-principle-row:last-child {
  border-bottom: none;
}

.m07-principle-row.correct {
  background: rgba(113, 224, 157, .035);
}

.m07-principle-row.wrong {
  background: rgba(235, 109, 109, .035);
}

.m07-initiative-copy {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 4px;
  align-items: center;
  padding: 12px 18px;
}

.m07-initiative-copy > span {
  font-size: 11px;
  font-weight: 800;
  opacity: .48;
}

.m07-initiative-copy strong {
  font-size: 13px;
  line-height: 1.43;
  font-weight: 600;
}

.m07-principle-cell {
  min-height: 78px;
  border: 0;
  border-left: 1px solid var(--m07-line);
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-size: 20px;
  cursor: pointer;
}

.m07-principle-cell:hover:not(:disabled) {
  background: rgba(141, 214, 186, .08);
}

.m07-principle-cell.selected {
  background: rgba(141, 214, 186, .16);
}

.m07-principle-cell.correct {
  background: rgba(113, 224, 157, .18);
}

.m07-principle-cell.wrong {
  background: rgba(235, 109, 109, .18);
}

.m07-principles-legend {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px 14px;
  padding: 13px 15px;
  border: 1px solid var(--m07-line);
  border-radius: 11px;
  background: var(--m07-panel);
}

.m07-principles-legend span {
  font-size: 12px;
  line-height: 1.4;
  color: var(--m07-text-soft);
}

.m07-principles-legend strong {
  display: inline-block;
  min-width: 40px;
  margin-right: 6px;
  font-size: 11px;
  color: inherit;
}


/* ---------------------------------------------------------
   Stage 03 · Cost != Carbon
   --------------------------------------------------------- */

.m07-report-header {
  display: grid;
  grid-template-columns: 1fr minmax(260px, 32%);
  gap: 20px;
  align-items: center;
  padding: 17px 19px;
  border: 1px solid var(--m07-line-strong);
  border-radius: 13px;
  background:
    linear-gradient(
      115deg,
      rgba(36, 83, 66, .26),
      rgba(11, 26, 31, .82)
    );
}

.m07-report-header > div {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.m07-report-header strong {
  font-size: 14px;
  line-height: 1.5;
}

.m07-report-header small {
  font-size: 11.5px;
  line-height: 1.45;
  color: var(--m07-text-soft);
}

.m07-carbon-table {
  overflow-x: auto;
  border: 1px solid var(--m07-line);
  border-radius: 14px;
  background: var(--m07-panel-strong);
}

.m07-carbon-head,
.m07-carbon-row {
  min-width: 1050px;
  display: grid;
  grid-template-columns:
    180px
    240px
    180px
    145px
    145px
    130px;
}

.m07-carbon-head {
  min-height: 50px;
  align-items: center;
  border-bottom: 1px solid var(--m07-line-strong);
  background: rgba(141, 214, 186, .08);
}

.m07-carbon-head span {
  height: 100%;
  display: flex;
  align-items: center;
  padding: 0 12px;
  border-right: 1px solid var(--m07-line);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .05em;
}

.m07-carbon-row {
  min-height: 122px;
  border-bottom: 1px solid rgba(141, 214, 186, .11);
}

.m07-carbon-row:last-child {
  border-bottom: none;
}

.m07-carbon-row > div {
  padding: 14px 12px;
  border-right: 1px solid var(--m07-line);
}

.m07-carbon-row > div:last-child {
  border-right: 0;
}

.m07-workload-name {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.m07-workload-name strong {
  font-size: 13px;
}

.m07-workload-name small {
  font-size: 11.5px;
  line-height: 1.45;
  color: var(--m07-text-soft);
}

.m07-carbon-change,
.m07-carbon-usage {
  font-size: 12px;
  line-height: 1.48;
  color: var(--m07-text-soft);
}

.m07-carbon-meter {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 9px;
}

.m07-carbon-meter > div {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.07);
}

.m07-carbon-meter > div > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: rgba(205, 218, 221, .55);
}

.m07-carbon-meter.modeled > div > span {
  background: rgba(113, 224, 157, .62);
}

.m07-carbon-meter strong {
  font-size: 12.5px;
}

.m07-carbon-delta {
  display: flex;
  align-items: center;
  justify-content: center;
}

.m07-carbon-delta strong {
  font-size: 13px;
}

.m07-carbon-delta.reduction strong {
  color: rgba(150, 236, 184, .95);
}

.m07-carbon-delta.same strong {
  opacity: .52;
}

.m07-carbon-total {
  display: grid;
  grid-template-columns:
    minmax(160px, 1fr)
    36px
    minmax(160px, 1fr)
    minmax(220px, 1.25fr);
  gap: 12px;
  align-items: stretch;
}

.m07-carbon-total > div:not(.arrow) {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  min-height: 84px;
  padding: 14px 16px;
  border: 1px solid var(--m07-line);
  border-radius: 12px;
  background: var(--m07-panel);
}

.m07-carbon-total .arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  opacity: .48;
}

.m07-carbon-total span {
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .07em;
  opacity: .67;
}

.m07-carbon-total strong {
  font-size: 18px;
}

.m07-carbon-reduction {
  background: rgba(69, 126, 91, .18) !important;
  border-color: rgba(113, 224, 157, .32) !important;
}

.m07-carbon-reduction strong {
  color: rgba(164, 239, 193, .98);
}

.m07-carbon-questions,
.m07-reporting-panel {
  overflow: hidden;
  border: 1px solid var(--m07-line);
  border-radius: 13px;
  background: var(--m07-panel);
}

.m07-panel-title {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 12px 16px;
  border-bottom: 1px solid var(--m07-line);
  background: rgba(141, 214, 186, .06);
}

.m07-panel-title span {
  font-size: 10.5px;
  font-weight: 800;
  opacity: .5;
}

.m07-panel-title strong {
  font-size: 12px;
  letter-spacing: .06em;
}

.m07-carbon-question {
  display: grid;
  grid-template-columns: minmax(330px, 1fr) 1.1fr;
  gap: 16px;
  align-items: center;
  padding: 15px 17px;
  border-bottom: 1px solid rgba(141, 214, 186, .10);
}

.m07-carbon-question:last-child {
  border-bottom: 0;
}

.m07-carbon-question p {
  display: grid;
  grid-template-columns: 30px 1fr;
  gap: 7px;
  margin: 0;
  font-size: 13px;
  line-height: 1.48;
}

.m07-carbon-question p > span {
  font-size: 11px;
  font-weight: 800;
  opacity: .46;
}

.m07-carbon-question > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.m07-carbon-question button,
.m07-reporting-options button {
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid var(--m07-line);
  border-radius: 9px;
  background: rgba(255,255,255,.025);
  color: inherit;
  font-size: 11.5px;
  font-weight: 650;
  cursor: pointer;
}

.m07-carbon-question button:hover:not(:disabled),
.m07-reporting-options button:hover:not(:disabled) {
  background: rgba(141, 214, 186, .08);
}

.m07-carbon-question button.selected,
.m07-reporting-options button.selected {
  border-color: var(--m07-line-strong);
  background: rgba(141, 214, 186, .14);
}

.m07-carbon-question button.correct,
.m07-reporting-options button.correct {
  border-color: rgba(113, 224, 157, .45);
  background: rgba(113, 224, 157, .17);
}

.m07-carbon-question button.wrong,
.m07-reporting-options button.wrong {
  border-color: rgba(235, 109, 109, .45);
  background: rgba(235, 109, 109, .16);
}


/* ---------------------------------------------------------
   Stage 04 · Decision Brief
   --------------------------------------------------------- */

.m07-brief-kpis {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

.m07-brief-kpis > div {
  min-height: 92px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 7px;
  padding: 14px 15px;
  border: 1px solid var(--m07-line);
  border-radius: 12px;
  background: var(--m07-panel);
}

.m07-brief-kpis > div.primary {
  background: rgba(65, 123, 88, .18);
  border-color: rgba(113, 224, 157, .32);
}

.m07-brief-kpis span {
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .06em;
  opacity: .65;
}

.m07-brief-kpis strong {
  font-size: 16px;
}

.m07-action-table {
  overflow: hidden;
  border: 1px solid var(--m07-line);
  border-radius: 14px;
  background: var(--m07-panel-strong);
}

.m07-action-head,
.m07-action-row {
  display: grid;
  grid-template-columns:
    minmax(430px, 1fr)
    130px
    130px
    130px;
}

.m07-action-head {
  min-height: 50px;
  align-items: center;
  border-bottom: 1px solid var(--m07-line-strong);
  background: rgba(141, 214, 186, .08);
}

.m07-action-head > span {
  padding: 0 18px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
}

.m07-action-head > strong {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border-left: 1px solid var(--m07-line);
  font-size: 10.5px;
  letter-spacing: .04em;
}

.m07-action-row {
  min-height: 82px;
  border-bottom: 1px solid rgba(141, 214, 186, .11);
}

.m07-action-row:last-child {
  border-bottom: 0;
}

.m07-action-row.correct {
  background: rgba(113, 224, 157, .035);
}

.m07-action-row.wrong {
  background: rgba(235, 109, 109, .035);
}

.m07-action-copy {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 4px;
  align-items: center;
  padding: 13px 18px;
}

.m07-action-copy > span {
  font-size: 11px;
  font-weight: 800;
  opacity: .46;
}

.m07-action-copy strong {
  font-size: 13px;
  line-height: 1.45;
  font-weight: 600;
}

.m07-action-cell {
  min-height: 82px;
  border: 0;
  border-left: 1px solid var(--m07-line);
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .04em;
  cursor: pointer;
}

.m07-action-cell:hover:not(:disabled) {
  background: rgba(141, 214, 186, .08);
}

.m07-action-cell.selected {
  background: rgba(141, 214, 186, .15);
}

.m07-action-cell.correct {
  background: rgba(113, 224, 157, .18);
}

.m07-action-cell.wrong {
  background: rgba(235, 109, 109, .17);
}

.m07-reporting-panel > p {
  margin: 0;
  padding: 15px 16px 7px;
  font-size: 13.5px;
  line-height: 1.5;
}

.m07-reporting-options {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
  padding: 10px 16px 16px;
}

.m07-final-brief {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 12px;
}

.m07-final-brief > div {
  min-height: 82px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 7px;
  padding: 14px 16px;
  border: 1px solid rgba(113, 224, 157, .30);
  border-radius: 12px;
  background: rgba(58, 116, 80, .14);
}

.m07-final-brief strong {
  font-size: 14px;
  line-height: 1.4;
}


/* ---------------------------------------------------------
   Classroom readability
   --------------------------------------------------------- */

.m07-workspace .workspace-intro {
  font-size: 14px;
  line-height: 1.55;
}

.m07-workspace button {
  line-height: 1.28;
}

.m07-workspace button:focus-visible {
  outline: 2px solid rgba(151, 231, 196, .85);
  outline-offset: -3px;
}


/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */

@media (max-width: 1180px) {

  .m07-boundary-board,
  .m07-principles-board,
  .m07-action-table {
    overflow-x: auto;
  }

  .m07-boundary-head,
  .m07-boundary-row {
    min-width: 780px;
  }

  .m07-principles-head,
  .m07-principle-row {
    min-width: 820px;
  }

  .m07-action-head,
  .m07-action-row {
    min-width: 840px;
  }

  .m07-carbon-total,
  .m07-brief-kpis {
    grid-template-columns: repeat(2, 1fr);
  }

  .m07-carbon-total .arrow {
    display: none;
  }
}


@media (max-width: 820px) {

  .m07-principle,
  .m07-context-strip,
  .m07-takeaway,
  .m07-report-header,
  .m07-final-brief {
    grid-template-columns: 1fr;
  }

  .m07-scope-reference,
  .m07-principles-legend {
    grid-template-columns: 1fr;
  }

  .m07-carbon-question {
    grid-template-columns: 1fr;
  }

  .m07-carbon-question > div,
  .m07-reporting-options {
    grid-template-columns: 1fr;
  }

  .m07-carbon-total,
  .m07-brief-kpis {
    grid-template-columns: 1fr;
  }
}



/* === M08 OPERATING MODEL LAB === */

.m08-workspace {
  --m08-panel: rgba(18, 23, 34, .78);
  --m08-panel-strong: rgba(20, 26, 39, .94);
  --m08-line: rgba(138, 163, 214, .18);
  --m08-line-strong: rgba(138, 163, 214, .40);
  --m08-soft: rgba(138, 163, 214, .08);
  --m08-core: rgba(102, 181, 255, .14);
  --m08-allied: rgba(179, 143, 255, .13);
  --m08-good: rgba(108, 221, 165, .16);
  --m08-warn: rgba(241, 190, 94, .15);
  --m08-bad: rgba(232, 103, 113, .15);
  --m08-text-soft: rgba(224, 231, 245, .72);

  display: flex;
  flex-direction: column;
  gap: 18px;
}


/* ---------------------------------------------------------
   Shared language
   --------------------------------------------------------- */

.m08-principle {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 18px;
  align-items: center;
  padding: 18px 20px;
  border: 1px solid var(--m08-line-strong);
  border-radius: 14px;
  background:
    linear-gradient(
      135deg,
      rgba(58, 74, 119, .32),
      rgba(18, 24, 37, .82)
    );
}

.m08-principle > span,
.m08-takeaway > span,
.m08-automation-principle > span,
.m08-final-blueprint span {
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .11em;
  opacity: .72;
}

.m08-principle strong {
  font-size: 15px;
  line-height: 1.5;
  font-weight: 650;
}

.m08-stage-feedback {
  padding: 16px 18px;
  border: 1px solid var(--m08-line);
  border-radius: 12px;
}

.m08-stage-feedback.ok {
  background: var(--m08-good);
  border-color: rgba(108, 221, 165, .35);
}

.m08-stage-feedback.needs-review {
  background: var(--m08-warn);
  border-color: rgba(241, 190, 94, .38);
}

.m08-stage-feedback strong {
  display: block;
  margin-bottom: 5px;
  font-size: 14px;
}

.m08-stage-feedback p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.55;
}

.m08-takeaway {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 16px;
  padding: 16px 18px;
  border-left: 4px solid rgba(123, 168, 255, .75);
  border-radius: 10px;
  background: rgba(55, 76, 122, .17);
}

.m08-takeaway strong {
  font-size: 14px;
  line-height: 1.52;
}


/* ---------------------------------------------------------
   Stage 01 · Persona Constellation
   --------------------------------------------------------- */

.m08-persona-definitions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.m08-persona-definitions > div {
  min-height: 118px;
  padding: 16px 18px;
  border: 1px solid var(--m08-line);
  border-radius: 13px;
  background: var(--m08-panel);
}

.m08-persona-definitions > div.core {
  background:
    linear-gradient(
      135deg,
      rgba(58, 118, 173, .18),
      rgba(19, 25, 39, .82)
    );
}

.m08-persona-definitions > div.allied {
  background:
    linear-gradient(
      135deg,
      rgba(102, 71, 156, .17),
      rgba(19, 25, 39, .82)
    );
}

.m08-persona-definitions span {
  display: inline-flex;
  margin-bottom: 10px;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .09em;
}

.m08-persona-definitions .core span {
  background: var(--m08-core);
}

.m08-persona-definitions .allied span {
  background: var(--m08-allied);
}

.m08-persona-definitions strong {
  display: block;
  font-size: 13.5px;
  line-height: 1.5;
  font-weight: 600;
}

.m08-persona-board {
  overflow: hidden;
  border: 1px solid var(--m08-line);
  border-radius: 14px;
  background: var(--m08-panel-strong);
}

.m08-persona-head,
.m08-persona-row {
  display: grid;
  grid-template-columns:
    minmax(180px, .7fr)
    minmax(420px, 1.7fr)
    125px
    125px;
}

.m08-persona-head {
  min-height: 50px;
  align-items: center;
  border-bottom: 1px solid var(--m08-line-strong);
  background: rgba(138, 163, 214, .07);
}

.m08-persona-head > span {
  padding: 0 16px;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .07em;
}

.m08-persona-head > strong {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  border-left: 1px solid var(--m08-line);
  font-size: 11px;
}

.m08-persona-row {
  min-height: 78px;
  border-bottom: 1px solid rgba(138, 163, 214, .10);
}

.m08-persona-row:last-child {
  border-bottom: 0;
}

.m08-persona-row.correct {
  background: rgba(108, 221, 165, .025);
}

.m08-persona-row.wrong {
  background: rgba(232, 103, 113, .03);
}

.m08-persona-name {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 3px;
  align-items: center;
  padding: 12px 16px;
}

.m08-persona-name span {
  font-size: 10.5px;
  font-weight: 800;
  opacity: .42;
}

.m08-persona-name strong {
  font-size: 13.5px;
}

.m08-persona-signal {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  border-left: 1px solid var(--m08-line);
  font-size: 12.5px;
  line-height: 1.45;
  color: var(--m08-text-soft);
}

.m08-persona-cell {
  min-height: 78px;
  border: 0;
  border-left: 1px solid var(--m08-line);
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-size: 20px;
  cursor: pointer;
}

.m08-persona-cell:hover:not(:disabled) {
  background: rgba(138, 163, 214, .08);
}

.m08-persona-cell.selected {
  background: rgba(138, 163, 214, .14);
}

.m08-persona-cell.correct {
  background: rgba(108, 221, 165, .17);
}

.m08-persona-cell.wrong {
  background: rgba(232, 103, 113, .17);
}


/* ---------------------------------------------------------
   Stage 02 · Collaboration Hand-off Board
   --------------------------------------------------------- */

.m08-handoff-flow {
  display: grid;
  grid-template-columns:
    1fr 40px
    1fr 40px
    1fr;
  gap: 6px;
  align-items: center;
}

.m08-handoff-flow > div {
  min-height: 78px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  padding: 13px 16px;
  border: 1px solid var(--m08-line);
  border-radius: 12px;
  background: var(--m08-panel);
}

.m08-handoff-flow span {
  font-size: 10px;
  font-weight: 800;
  opacity: .44;
}

.m08-handoff-flow strong {
  font-size: 13px;
}

.m08-handoff-flow > b {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  opacity: .38;
}

.m08-collab-board {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.m08-collab-scenario {
  overflow: hidden;
  border: 1px solid var(--m08-line);
  border-radius: 14px;
  background: var(--m08-panel-strong);
}

.m08-collab-scenario.correct {
  border-color: rgba(108, 221, 165, .30);
}

.m08-collab-scenario.wrong {
  border-color: rgba(232, 103, 113, .30);
}

.m08-collab-context {
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 7px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--m08-line);
  background: rgba(138, 163, 214, .055);
}

.m08-collab-context > span {
  font-size: 11px;
  font-weight: 800;
  opacity: .42;
}

.m08-collab-context strong {
  display: block;
  margin-bottom: 5px;
  font-size: 14px;
}

.m08-collab-context p {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.48;
  color: var(--m08-text-soft);
}

.m08-handoff-lanes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.m08-handoff-lane {
  min-height: 120px;
  padding: 14px 16px;
  border-right: 1px solid var(--m08-line);
}

.m08-handoff-lane:last-child {
  border-right: 0;
}

.m08-handoff-lane label {
  display: block;
  margin-bottom: 8px;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .06em;
  opacity: .62;
}

.m08-handoff-lane select {
  width: 100%;
  min-height: 42px;
  padding: 8px 10px;
  border: 1px solid var(--m08-line-strong);
  border-radius: 9px;
  background: rgba(12, 17, 28, .85);
  color: inherit;
  font-size: 12.5px;
}

.m08-handoff-lane small {
  display: block;
  margin-top: 8px;
  font-size: 11.5px;
  line-height: 1.4;
}

.m08-handoff-lane small.correct {
  color: rgba(139, 231, 177, .95);
}

.m08-handoff-lane small.wrong {
  color: rgba(244, 164, 168, .95);
}

.m08-collab-reason {
  padding: 13px 17px;
  border-top: 1px solid var(--m08-line);
  background: rgba(255,255,255,.018);
  font-size: 12.5px;
  line-height: 1.48;
  color: var(--m08-text-soft);
}


/* ---------------------------------------------------------
   Stage 03 · Process Blueprint
   --------------------------------------------------------- */

.m08-process-banner {
  display: grid;
  grid-template-columns: minmax(280px, .8fr) 1.4fr;
  gap: 20px;
  align-items: center;
  padding: 18px 20px;
  border: 1px solid var(--m08-line-strong);
  border-radius: 14px;
  background:
    linear-gradient(
      120deg,
      rgba(57, 72, 118, .22),
      rgba(18, 24, 37, .84)
    );
}

.m08-process-banner > div {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.m08-process-banner span {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .10em;
  opacity: .58;
}

.m08-process-banner strong {
  font-size: 17px;
}

.m08-process-banner p {
  margin: 0;
  font-size: 13px;
  line-height: 1.52;
  color: var(--m08-text-soft);
}

.m08-process-flow {
  display: grid;
  grid-template-columns:
    1fr 32px
    1fr 32px
    1fr 32px
    1fr;
  gap: 6px;
  align-items: center;
}

.m08-process-flow > div {
  min-height: 72px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  padding: 12px 14px;
  border: 1px solid var(--m08-line);
  border-radius: 11px;
  background: var(--m08-panel);
}

.m08-process-flow > div.configured {
  border-color: var(--m08-line-strong);
  background: rgba(77, 98, 153, .13);
}

.m08-process-flow > div.correct {
  border-color: rgba(108, 221, 165, .34);
  background: rgba(108, 221, 165, .10);
}

.m08-process-flow > div.wrong {
  border-color: rgba(232, 103, 113, .34);
  background: rgba(232, 103, 113, .10);
}

.m08-process-flow span {
  font-size: 10px;
  font-weight: 800;
  opacity: .42;
}

.m08-process-flow strong {
  font-size: 11.5px;
}

.m08-process-flow > b {
  display: flex;
  justify-content: center;
  font-size: 18px;
  opacity: .36;
}

.m08-process-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.m08-process-card {
  overflow: hidden;
  border: 1px solid var(--m08-line);
  border-radius: 13px;
  background: var(--m08-panel-strong);
}

.m08-process-card.correct {
  border-color: rgba(108, 221, 165, .30);
}

.m08-process-card.wrong {
  border-color: rgba(232, 103, 113, .30);
}

.m08-process-card header {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 6px;
  align-items: center;
  padding: 12px 15px;
  border-bottom: 1px solid var(--m08-line);
  background: rgba(138, 163, 214, .055);
}

.m08-process-card header span {
  font-size: 10px;
  font-weight: 800;
  opacity: .42;
}

.m08-process-card header strong {
  font-size: 12px;
  letter-spacing: .04em;
}

.m08-process-card > p {
  min-height: 60px;
  margin: 0;
  padding: 14px 15px 8px;
  font-size: 13px;
  line-height: 1.48;
}

.m08-process-options {
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 8px 15px 15px;
}

.m08-process-options button {
  min-height: 48px;
  padding: 10px 12px;
  text-align: left;
  border: 1px solid var(--m08-line);
  border-radius: 9px;
  background: rgba(255,255,255,.022);
  color: inherit;
  font-size: 12px;
  line-height: 1.4;
  cursor: pointer;
}

.m08-process-options button:hover:not(:disabled) {
  background: rgba(138, 163, 214, .08);
}

.m08-process-options button.selected {
  border-color: var(--m08-line-strong);
  background: rgba(138, 163, 214, .13);
}

.m08-process-options button.correct {
  border-color: rgba(108, 221, 165, .38);
  background: rgba(108, 221, 165, .15);
}

.m08-process-options button.wrong {
  border-color: rgba(232, 103, 113, .38);
  background: rgba(232, 103, 113, .14);
}

.m08-process-card > small {
  display: block;
  padding: 0 15px 15px;
  font-size: 11.5px;
  line-height: 1.45;
  color: var(--m08-text-soft);
}


/* ---------------------------------------------------------
   Stage 04 · Automation Readiness Gate
   --------------------------------------------------------- */

.m08-automation-principle {
  display: grid;
  grid-template-columns: 170px 1fr;
  gap: 18px;
  align-items: center;
  padding: 17px 19px;
  border: 1px solid var(--m08-line-strong);
  border-radius: 13px;
  background:
    linear-gradient(
      120deg,
      rgba(79, 67, 133, .22),
      rgba(18, 24, 37, .84)
    );
}

.m08-automation-principle strong {
  font-size: 14px;
  line-height: 1.5;
}

.m08-gate-board {
  overflow: hidden;
  border: 1px solid var(--m08-line);
  border-radius: 14px;
  background: var(--m08-panel-strong);
}

.m08-gate-head,
.m08-gate-row {
  display: grid;
  grid-template-columns:
    minmax(350px, 1.25fr)
    minmax(300px, 1fr)
    110px
    110px
    110px;
}

.m08-gate-head {
  min-height: 50px;
  align-items: center;
  border-bottom: 1px solid var(--m08-line-strong);
  background: rgba(138, 163, 214, .07);
}

.m08-gate-head > span {
  padding: 0 15px;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .06em;
}

.m08-gate-head > strong {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  border-left: 1px solid var(--m08-line);
  font-size: 10px;
}

.m08-gate-row {
  position: relative;
  min-height: 126px;
  border-bottom: 1px solid rgba(138, 163, 214, .10);
}

.m08-gate-row:last-child {
  border-bottom: 0;
}

.m08-gate-row.correct {
  background: rgba(108, 221, 165, .025);
}

.m08-gate-row.wrong {
  background: rgba(232, 103, 113, .03);
}

.m08-gate-candidate {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 5px;
  padding: 15px;
}

.m08-gate-candidate > span {
  font-size: 10px;
  font-weight: 800;
  opacity: .42;
}

.m08-gate-candidate strong {
  display: block;
  margin-bottom: 6px;
  font-size: 13px;
}

.m08-gate-candidate p {
  margin: 0;
  font-size: 11.8px;
  line-height: 1.45;
  color: var(--m08-text-soft);
}

.m08-gate-evidence {
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  gap: 6px;
  padding: 14px;
  border-left: 1px solid var(--m08-line);
}

.m08-gate-evidence span {
  display: inline-flex;
  padding: 5px 8px;
  border: 1px solid rgba(138, 163, 214, .18);
  border-radius: 999px;
  background: rgba(138, 163, 214, .06);
  font-size: 10.5px;
  line-height: 1.25;
}

.m08-gate-cell {
  min-height: 126px;
  padding: 8px;
  border: 0;
  border-left: 1px solid var(--m08-line);
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
  cursor: pointer;
}

.m08-gate-cell:hover:not(:disabled) {
  background: rgba(138, 163, 214, .08);
}

.m08-gate-cell.selected {
  background: rgba(138, 163, 214, .14);
}

.m08-gate-cell.correct {
  background: rgba(108, 221, 165, .17);
}

.m08-gate-cell.wrong {
  background: rgba(232, 103, 113, .17);
}

.m08-gate-reason {
  grid-column: 1 / -1;
  padding: 10px 15px;
  border-top: 1px solid var(--m08-line);
  background: rgba(255,255,255,.017);
  font-size: 11.5px;
  line-height: 1.45;
  color: var(--m08-text-soft);
}

.m08-data-collection-callout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.m08-data-collection-callout > div {
  min-height: 105px;
  padding: 15px 17px;
  border: 1px solid var(--m08-line);
  border-radius: 12px;
  background: var(--m08-panel);
}

.m08-data-collection-callout span {
  display: block;
  margin-bottom: 8px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  opacity: .55;
}

.m08-data-collection-callout strong {
  font-size: 12.5px;
  line-height: 1.48;
  font-weight: 600;
}

.m08-final-blueprint {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 12px;
}

.m08-final-blueprint > div {
  min-height: 82px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  padding: 14px 16px;
  border: 1px solid rgba(108, 221, 165, .28);
  border-radius: 12px;
  background: rgba(53, 111, 85, .12);
}

.m08-final-blueprint strong {
  font-size: 14px;
  line-height: 1.42;
}


/* ---------------------------------------------------------
   Classroom readability
   --------------------------------------------------------- */

.m08-workspace .workspace-intro {
  font-size: 14px;
  line-height: 1.55;
}

.m08-workspace button,
.m08-workspace select {
  line-height: 1.3;
}

.m08-workspace button:focus-visible,
.m08-workspace select:focus-visible {
  outline: 2px solid rgba(142, 181, 255, .90);
  outline-offset: -3px;
}


/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */

@media (max-width: 1180px) {

  .m08-persona-board,
  .m08-gate-board {
    overflow-x: auto;
  }

  .m08-persona-head,
  .m08-persona-row {
    min-width: 900px;
  }

  .m08-gate-head,
  .m08-gate-row {
    min-width: 980px;
  }

  .m08-process-grid {
    grid-template-columns: 1fr;
  }

  .m08-process-flow {
    grid-template-columns: 1fr;
  }

  .m08-process-flow > b {
    transform: rotate(90deg);
    min-height: 22px;
  }
}


@media (max-width: 820px) {

  .m08-principle,
  .m08-persona-definitions,
  .m08-process-banner,
  .m08-automation-principle,
  .m08-data-collection-callout,
  .m08-final-blueprint {
    grid-template-columns: 1fr;
  }

  .m08-handoff-flow {
    grid-template-columns: 1fr;
  }

  .m08-handoff-flow > b {
    transform: rotate(90deg);
  }

  .m08-handoff-lanes {
    grid-template-columns: 1fr;
  }

  .m08-handoff-lane {
    border-right: 0;
    border-bottom: 1px solid var(--m08-line);
  }

  .m08-handoff-lane:last-child {
    border-bottom: 0;
  }
}



/* === M09 STEERING COMMITTEE === */

.m09-workspace {
  --m09-panel: rgba(18, 22, 31, .82);
  --m09-panel-strong: rgba(20, 25, 36, .95);
  --m09-line: rgba(184, 166, 112, .18);
  --m09-line-strong: rgba(202, 180, 114, .38);
  --m09-soft: rgba(202, 180, 114, .08);
  --m09-accent: rgba(229, 200, 118, .95);
  --m09-blue: rgba(115, 166, 231, .18);
  --m09-purple: rgba(164, 127, 224, .16);
  --m09-good: rgba(106, 213, 157, .16);
  --m09-warn: rgba(241, 187, 88, .16);
  --m09-bad: rgba(231, 105, 111, .16);
  --m09-text-soft: rgba(230, 232, 239, .73);

  display: flex;
  flex-direction: column;
  gap: 18px;
}


/* ---------------------------------------------------------
   Shared executive language
   --------------------------------------------------------- */

.m09-principle {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 18px;
  align-items: center;
  padding: 18px 20px;
  border: 1px solid var(--m09-line-strong);
  border-radius: 14px;
  background:
    linear-gradient(
      135deg,
      rgba(91, 74, 37, .30),
      rgba(19, 23, 33, .86)
    );
}

.m09-principle > span,
.m09-takeaway > span,
.m09-definition-grid span,
.m09-section-title > span,
.m09-final-brief span {
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .11em;
  opacity: .72;
}

.m09-principle strong {
  font-size: 15px;
  line-height: 1.5;
  font-weight: 650;
}

.m09-stage-feedback {
  padding: 16px 18px;
  border: 1px solid var(--m09-line);
  border-radius: 12px;
}

.m09-stage-feedback.ok {
  background: var(--m09-good);
  border-color: rgba(106, 213, 157, .34);
}

.m09-stage-feedback.needs-review {
  background: var(--m09-warn);
  border-color: rgba(241, 187, 88, .38);
}

.m09-stage-feedback strong {
  display: block;
  margin-bottom: 5px;
  font-size: 14px;
}

.m09-stage-feedback p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.55;
}

.m09-takeaway {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 16px;
  padding: 16px 18px;
  border-left: 4px solid rgba(225, 196, 111, .78);
  border-radius: 10px;
  background: rgba(95, 79, 41, .17);
}

.m09-takeaway strong {
  font-size: 14px;
  line-height: 1.52;
}


/* ---------------------------------------------------------
   Stage 01 · KPI Architecture Studio
   --------------------------------------------------------- */

.m09-definition-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.m09-definition-grid > div {
  min-height: 112px;
  padding: 16px 18px;
  border: 1px solid var(--m09-line);
  border-radius: 13px;
  background: var(--m09-panel);
}

.m09-definition-grid > div:last-child {
  background:
    linear-gradient(
      135deg,
      rgba(100, 84, 44, .20),
      rgba(18, 23, 33, .84)
    );
}

.m09-definition-grid span {
  display: block;
  margin-bottom: 9px;
}

.m09-definition-grid strong {
  display: block;
  font-size: 13.5px;
  line-height: 1.5;
  font-weight: 600;
}

.m09-kpi-goals {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.m09-kpi-goal {
  overflow: hidden;
  border: 1px solid var(--m09-line);
  border-radius: 14px;
  background: var(--m09-panel-strong);
}

.m09-kpi-goal.correct {
  border-color: rgba(106, 213, 157, .32);
}

.m09-kpi-goal.wrong {
  border-color: rgba(231, 105, 111, .32);
}

.m09-kpi-goal header {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 6px;
  align-items: center;
  padding: 14px 16px;
  border-bottom: 1px solid var(--m09-line);
  background: rgba(202, 180, 114, .055);
}

.m09-kpi-goal header > span {
  font-size: 10.5px;
  font-weight: 800;
  opacity: .42;
}

.m09-kpi-goal header small {
  display: block;
  margin-bottom: 4px;
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: .08em;
  opacity: .52;
}

.m09-kpi-goal header strong {
  font-size: 13.5px;
  line-height: 1.4;
}

.m09-kpi-goal > p {
  min-height: 88px;
  margin: 0;
  padding: 14px 16px 8px;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--m09-text-soft);
}

.m09-kpi-candidates {
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 9px 16px 16px;
}

.m09-kpi-candidates > span {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
  opacity: .54;
}

.m09-kpi-candidates button {
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid var(--m09-line);
  border-radius: 9px;
  background: rgba(255,255,255,.02);
  color: inherit;
  font-size: 12px;
  line-height: 1.4;
  text-align: left;
  cursor: pointer;
}

.m09-kpi-candidates button:hover:not(:disabled) {
  background: rgba(202, 180, 114, .07);
}

.m09-kpi-candidates button.selected {
  border-color: var(--m09-line-strong);
  background: rgba(202, 180, 114, .13);
}

.m09-kpi-candidates button.correct {
  border-color: rgba(106, 213, 157, .38);
  background: rgba(106, 213, 157, .15);
}

.m09-kpi-candidates button.wrong {
  border-color: rgba(231, 105, 111, .38);
  background: rgba(231, 105, 111, .14);
}

.m09-kpi-reason {
  padding: 12px 16px 15px;
  border-top: 1px solid var(--m09-line);
  font-size: 11.5px;
  line-height: 1.45;
  color: var(--m09-text-soft);
}

.m09-kpi-properties {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 14px;
  border: 1px solid var(--m09-line);
  border-radius: 11px;
  background: var(--m09-panel);
}

.m09-kpi-properties span {
  padding: 6px 10px;
  border: 1px solid rgba(202, 180, 114, .18);
  border-radius: 999px;
  background: rgba(202, 180, 114, .07);
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
}


/* ---------------------------------------------------------
   Stage 02 · MDCO Decision Room
   --------------------------------------------------------- */

.m09-mdco-principle,
.m09-integration-principle {
  padding: 16px 18px;
  border: 1px solid var(--m09-line-strong);
  border-radius: 12px;
  background:
    linear-gradient(
      120deg,
      rgba(58, 77, 111, .22),
      rgba(18, 23, 33, .83)
    );
  font-size: 13.5px;
  line-height: 1.52;
}

.m09-mdco-cases {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.m09-mdco-case {
  overflow: hidden;
  border: 1px solid var(--m09-line);
  border-radius: 14px;
  background: var(--m09-panel-strong);
}

.m09-mdco-case.correct {
  border-color: rgba(106, 213, 157, .30);
}

.m09-mdco-case.wrong {
  border-color: rgba(231, 105, 111, .30);
}

.m09-mdco-case > header {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 7px;
  align-items: center;
  padding: 13px 16px;
  border-bottom: 1px solid var(--m09-line);
  background: rgba(202, 180, 114, .055);
}

.m09-mdco-case > header span {
  font-size: 10.5px;
  font-weight: 800;
  opacity: .42;
}

.m09-mdco-case > header strong {
  font-size: 14px;
}

.m09-mdco-body {
  display: grid;
  grid-template-columns: .95fr 1.3fr;
}

.m09-evidence-panel,
.m09-decision-panel {
  padding: 15px 16px;
}

.m09-evidence-panel {
  border-right: 1px solid var(--m09-line);
}

.m09-evidence-panel > span,
.m09-decision-panel > span {
  display: block;
  margin-bottom: 10px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  opacity: .55;
}

.m09-evidence-panel > div {
  position: relative;
  margin-bottom: 7px;
  padding: 7px 9px 7px 21px;
  border: 1px solid rgba(202, 180, 114, .12);
  border-radius: 8px;
  background: rgba(202, 180, 114, .04);
  font-size: 11.5px;
  line-height: 1.4;
}

.m09-evidence-panel > div::before {
  content: "•";
  position: absolute;
  left: 9px;
  opacity: .55;
}

.m09-decision-panel {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.m09-decision-panel > span {
  margin-bottom: 2px;
}

.m09-decision-panel button {
  min-height: 50px;
  padding: 10px 12px;
  border: 1px solid var(--m09-line);
  border-radius: 9px;
  background: rgba(255,255,255,.02);
  color: inherit;
  font-size: 12px;
  line-height: 1.42;
  text-align: left;
  cursor: pointer;
}

.m09-decision-panel button:hover:not(:disabled) {
  background: rgba(202, 180, 114, .07);
}

.m09-decision-panel button.selected {
  border-color: var(--m09-line-strong);
  background: rgba(202, 180, 114, .13);
}

.m09-decision-panel button.correct {
  border-color: rgba(106, 213, 157, .38);
  background: rgba(106, 213, 157, .15);
}

.m09-decision-panel button.wrong {
  border-color: rgba(231, 105, 111, .38);
  background: rgba(231, 105, 111, .14);
}

.m09-mdco-feedback {
  padding: 12px 16px;
  border-top: 1px solid var(--m09-line);
  background: rgba(255,255,255,.015);
}

.m09-mdco-feedback p {
  margin: 0;
  font-size: 12px;
  line-height: 1.46;
  color: var(--m09-text-soft);
}

.m09-mdco-feedback small {
  display: inline-flex;
  margin-top: 8px;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(106, 213, 157, .09);
  font-size: 10.5px;
}


/* ---------------------------------------------------------
   Stage 03 · Initiative Integration Map
   --------------------------------------------------------- */

.m09-integration-board {
  overflow: hidden;
  border: 1px solid var(--m09-line);
  border-radius: 14px;
  background: var(--m09-panel-strong);
}

.m09-integration-head,
.m09-integration-row {
  display: grid;
  grid-template-columns:
    minmax(380px, 1.4fr)
    repeat(5, 120px);
}

.m09-integration-head {
  min-height: 62px;
  align-items: center;
  border-bottom: 1px solid var(--m09-line-strong);
  background: rgba(202, 180, 114, .055);
}

.m09-integration-head > span {
  padding: 0 16px;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .07em;
}

.m09-integration-head > strong {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 6px;
  border-left: 1px solid var(--m09-line);
  font-size: 10px;
  line-height: 1.25;
  text-align: center;
}

.m09-integration-row {
  min-height: 88px;
  border-bottom: 1px solid rgba(202, 180, 114, .09);
}

.m09-integration-row:last-child {
  border-bottom: 0;
}

.m09-integration-row.correct {
  background: rgba(106, 213, 157, .022);
}

.m09-integration-row.wrong {
  background: rgba(231, 105, 111, .025);
}

.m09-integration-copy {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 5px;
  align-items: center;
  padding: 13px 16px;
}

.m09-integration-copy span {
  font-size: 10px;
  font-weight: 800;
  opacity: .42;
}

.m09-integration-copy strong {
  font-size: 12.5px;
  line-height: 1.45;
}

.m09-integration-row button {
  min-height: 88px;
  border: 0;
  border-left: 1px solid var(--m09-line);
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-size: 20px;
  cursor: pointer;
}

.m09-integration-row button:hover:not(:disabled) {
  background: rgba(202, 180, 114, .07);
}

.m09-integration-row button.selected {
  background: rgba(202, 180, 114, .13);
}

.m09-integration-row button.correct {
  background: rgba(106, 213, 157, .17);
}

.m09-integration-row button.wrong {
  background: rgba(231, 105, 111, .16);
}


/* ---------------------------------------------------------
   Stage 04 · Maturity Radar
   --------------------------------------------------------- */

.m09-maturity-levels {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.m09-maturity-levels > div {
  min-height: 116px;
  padding: 15px 17px;
  border: 1px solid var(--m09-line);
  border-radius: 12px;
  background: var(--m09-panel);
}

.m09-maturity-levels > div.crawl {
  background:
    linear-gradient(
      135deg,
      rgba(104, 117, 138, .13),
      rgba(19, 23, 33, .84)
    );
}

.m09-maturity-levels > div.walk {
  background:
    linear-gradient(
      135deg,
      rgba(151, 128, 67, .16),
      rgba(19, 23, 33, .84)
    );
}

.m09-maturity-levels > div.run {
  background:
    linear-gradient(
      135deg,
      rgba(77, 129, 102, .17),
      rgba(19, 23, 33, .84)
    );
}

.m09-maturity-levels span {
  display: block;
  margin-bottom: 9px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .07em;
}

.m09-maturity-levels strong {
  font-size: 12.5px;
  line-height: 1.45;
  font-weight: 600;
  color: var(--m09-text-soft);
}

.m09-maturity-board {
  overflow: hidden;
  border: 1px solid var(--m09-line);
  border-radius: 14px;
  background: var(--m09-panel-strong);
}

.m09-maturity-head,
.m09-maturity-row {
  display: grid;
  grid-template-columns:
    minmax(220px, .8fr)
    minmax(430px, 1.5fr)
    105px
    105px
    105px;
}

.m09-maturity-head {
  min-height: 52px;
  align-items: center;
  border-bottom: 1px solid var(--m09-line-strong);
  background: rgba(202, 180, 114, .055);
}

.m09-maturity-head > span {
  padding: 0 15px;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .06em;
}

.m09-maturity-head > strong {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  border-left: 1px solid var(--m09-line);
  font-size: 10.5px;
}

.m09-maturity-row {
  min-height: 92px;
  border-bottom: 1px solid rgba(202, 180, 114, .09);
}

.m09-maturity-row:last-child {
  border-bottom: 0;
}

.m09-maturity-row.correct {
  background: rgba(106, 213, 157, .022);
}

.m09-maturity-row.wrong {
  background: rgba(231, 105, 111, .025);
}

.m09-capability-name {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 5px;
  align-items: center;
  padding: 13px 15px;
}

.m09-capability-name span {
  font-size: 10px;
  font-weight: 800;
  opacity: .42;
}

.m09-capability-name strong {
  font-size: 12.5px;
  line-height: 1.4;
}

.m09-capability-evidence {
  display: flex;
  align-items: center;
  padding: 13px 15px;
  border-left: 1px solid var(--m09-line);
  font-size: 11.8px;
  line-height: 1.45;
  color: var(--m09-text-soft);
}

.m09-maturity-row button {
  min-height: 92px;
  border: 0;
  border-left: 1px solid var(--m09-line);
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-size: 20px;
  cursor: pointer;
}

.m09-maturity-row button:hover:not(:disabled) {
  background: rgba(202, 180, 114, .07);
}

.m09-maturity-row button.selected {
  background: rgba(202, 180, 114, .13);
}

.m09-maturity-row button.correct {
  background: rgba(106, 213, 157, .17);
}

.m09-maturity-row button.wrong {
  background: rgba(231, 105, 111, .16);
}

.m09-maturity-summary {
  display: grid;
  grid-template-columns: 170px repeat(3, 1fr);
  gap: 10px;
  align-items: stretch;
}

.m09-maturity-summary > span,
.m09-maturity-summary > div {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 14px;
  border: 1px solid var(--m09-line);
  border-radius: 11px;
  background: var(--m09-panel);
}

.m09-maturity-summary > span {
  justify-content: flex-start;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .07em;
}

.m09-maturity-summary > div {
  gap: 10px;
}

.m09-maturity-summary strong {
  font-size: 12px;
}

.m09-maturity-summary b {
  font-size: 22px;
  font-weight: 700;
}


/* ---------------------------------------------------------
   Stage 05 · Steering Committee
   --------------------------------------------------------- */

.m09-steering-constraint {
  display: grid;
  grid-template-columns: 130px 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 17px 19px;
  border: 1px solid var(--m09-line-strong);
  border-radius: 13px;
  background:
    linear-gradient(
      120deg,
      rgba(106, 86, 40, .23),
      rgba(18, 23, 33, .86)
    );
}

.m09-steering-constraint span {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .09em;
  opacity: .58;
}

.m09-steering-constraint strong {
  font-size: 13.5px;
  line-height: 1.45;
}

.m09-steering-constraint b {
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(202, 180, 114, .10);
  font-size: 11px;
  white-space: nowrap;
}

.m09-evidence-register {
  overflow: hidden;
  border: 1px solid var(--m09-line);
  border-radius: 13px;
  background: var(--m09-panel);
}

.m09-section-title {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 12px 15px;
  border-bottom: 1px solid var(--m09-line);
  background: rgba(202, 180, 114, .045);
}

.m09-section-title strong {
  font-size: 11.5px;
  line-height: 1.4;
  font-weight: 600;
  color: var(--m09-text-soft);
}

.m09-evidence-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 9px;
  padding: 12px;
}

.m09-evidence-grid > div {
  min-height: 110px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  padding: 12px 13px;
  border: 1px solid var(--m09-line);
  border-radius: 10px;
  background: rgba(255,255,255,.02);
}

.m09-evidence-grid > div.observed {
  border-color: rgba(104, 173, 224, .24);
  background: rgba(71, 116, 151, .08);
}

.m09-evidence-grid > div.modeled {
  border-color: rgba(217, 178, 84, .24);
  background: rgba(131, 106, 48, .08);
}

.m09-evidence-grid > div.designed {
  border-color: rgba(169, 126, 221, .24);
  background: rgba(93, 68, 127, .08);
}

.m09-evidence-grid span {
  font-size: 9.5px;
  font-weight: 800;
  opacity: .46;
}

.m09-evidence-grid strong {
  font-size: 11.5px;
  line-height: 1.35;
}

.m09-evidence-grid b {
  font-size: 14px;
}

.m09-evidence-grid small {
  margin-top: 3px;
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: .07em;
  opacity: .60;
}

.m09-steering-portfolio {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.m09-steering-portfolio > button {
  min-height: 118px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 7px;
  padding: 14px 15px;
  border: 1px solid var(--m09-line);
  border-radius: 12px;
  background: var(--m09-panel);
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.m09-steering-portfolio > button:hover:not(:disabled) {
  background: rgba(202, 180, 114, .07);
}

.m09-steering-portfolio > button.selected {
  border-color: var(--m09-line-strong);
  background: rgba(202, 180, 114, .13);
}

.m09-steering-portfolio > button.correct {
  border-color: rgba(106, 213, 157, .38);
  background: rgba(106, 213, 157, .14);
}

.m09-steering-portfolio > button.wrong {
  border-color: rgba(231, 105, 111, .40);
  background: rgba(231, 105, 111, .15);
}

.m09-steering-portfolio > button > span {
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: .08em;
  opacity: .55;
}

.m09-steering-portfolio > button > strong {
  font-size: 13px;
  line-height: 1.42;
}

.m09-steering-portfolio > button > div {
  margin-top: auto;
  display: flex;
  justify-content: space-between;
  gap: 8px;
}

.m09-steering-portfolio small {
  padding: 4px 7px;
  border-radius: 999px;
  background: rgba(255,255,255,.035);
  font-size: 9.5px;
  opacity: .68;
}

.m09-position-panel {
  overflow: hidden;
  border: 1px solid var(--m09-line);
  border-radius: 13px;
  background: var(--m09-panel);
}

.m09-position-panel > button {
  width: 100%;
  min-height: 74px;
  padding: 13px 16px;
  border: 0;
  border-top: 1px solid var(--m09-line);
  border-radius: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  font-size: 12.5px;
  line-height: 1.48;
  cursor: pointer;
}

.m09-position-panel > button:hover:not(:disabled) {
  background: rgba(202, 180, 114, .06);
}

.m09-position-panel > button.selected {
  background: rgba(202, 180, 114, .12);
}

.m09-position-panel > button.correct {
  background: rgba(106, 213, 157, .15);
}

.m09-position-panel > button.wrong {
  background: rgba(231, 105, 111, .15);
}

.m09-final-brief {
  display: grid;
  grid-template-columns: .8fr 1.1fr 1.7fr;
  gap: 12px;
}

.m09-final-brief > div {
  min-height: 100px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 7px;
  padding: 14px 16px;
  border: 1px solid rgba(106, 213, 157, .28);
  border-radius: 12px;
  background: rgba(57, 111, 84, .12);
}

.m09-final-brief strong {
  font-size: 13px;
  line-height: 1.45;
}


/* ---------------------------------------------------------
   Classroom readability
   --------------------------------------------------------- */

.m09-workspace .workspace-intro {
  font-size: 14px;
  line-height: 1.55;
}

.m09-workspace button {
  line-height: 1.32;
}

.m09-workspace button:focus-visible {
  outline: 2px solid rgba(230, 201, 119, .90);
  outline-offset: -3px;
}


/* ---------------------------------------------------------
   Responsive
   --------------------------------------------------------- */

@media (max-width: 1220px) {

  .m09-kpi-goals {
    grid-template-columns: 1fr;
  }

  .m09-integration-board,
  .m09-maturity-board {
    overflow-x: auto;
  }

  .m09-integration-head,
  .m09-integration-row {
    min-width: 1000px;
  }

  .m09-maturity-head,
  .m09-maturity-row {
    min-width: 980px;
  }

  .m09-evidence-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}


@media (max-width: 900px) {

  .m09-principle,
  .m09-definition-grid,
  .m09-mdco-body,
  .m09-steering-constraint,
  .m09-final-brief {
    grid-template-columns: 1fr;
  }

  .m09-maturity-levels,
  .m09-evidence-grid,
  .m09-steering-portfolio {
    grid-template-columns: 1fr;
  }

  .m09-maturity-summary {
    grid-template-columns: 1fr;
  }

  .m09-evidence-panel {
    border-right: 0;
    border-bottom: 1px solid var(--m09-line);
  }
}


