:root{
  --bg:#07110f;--surface:#0c1916;--surface-2:#10221e;--surface-3:#173029;--line:#29473e;
  --text:#f1f7f4;--muted:#9db5ac;--green:#76e6aa;--green-2:#37ba7b;--cyan:#68c8d4;
  --amber:#f0c56b;--red:#f07b7b;--violet:#b6a2ef;--blue:#79aee8;--shadow:0 24px 70px 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;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 12% 8%,rgba(55,186,123,.12),transparent 28rem),radial-gradient(circle at 90% 14%,rgba(104,200,212,.08),transparent 26rem),var(--bg)}
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(132,177,161,.16);background:rgba(7,17,15,.86);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:.015em}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:2px}.brand-mark{width:35px;height:35px;border:1px solid rgba(118,230,170,.35);border-radius:11px;display:grid;grid-template-columns:repeat(3,1fr);align-items:end;gap:3px;padding:7px;background:linear-gradient(145deg,rgba(118,230,170,.12),rgba(104,200,212,.05))}.brand-mark i{display:block;background:var(--green);border-radius:2px 2px 0 0}.brand-mark i:nth-child(1){height:35%}.brand-mark i:nth-child(2){height:70%}.brand-mark i:nth-child(3){height:100%}.top-actions{display:flex;gap:9px;align-items:center}.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(16,34,30,.72)}.ghost-btn,.secondary-btn,.primary-btn{cursor:pointer}.ghost-btn:hover,.secondary-btn:hover{background:var(--surface-3);border-color:#46685e}.primary-btn{border-color:rgba(118,230,170,.48);background:linear-gradient(135deg,var(--green-2),#2c916d);color:#03140e;font-weight:800}.primary-btn:hover{filter:brightness(1.06)}.primary-btn:disabled{opacity:.38;cursor:not-allowed}.language-select{padding:0 10px}.app-shell{width:min(1440px,calc(100% - 36px));margin:0 auto;padding:clamp(28px,5vw,62px) 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(--green)}.eyebrow:before{content:"";width:20px;height:1px;background:currentColor}.hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);gap:34px;align-items:center;min-height:650px}.hero h1{font-size:clamp(52px,7vw,90px);line-height:.92;letter-spacing:-.055em;margin:22px 0 24px;max-width:850px}.accent{color:var(--green)}.hero-copy>p{font-size:18px;line-height:1.65;color:#bfd0ca;max-width:760px}.hero-actions,.form-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.hero-panel,.panel,.workspace{border:1px solid rgba(126,172,155,.2);background:linear-gradient(160deg,rgba(16,34,30,.94),rgba(8,22,19,.88));box-shadow:var(--shadow)}.hero-panel{border-radius:26px;padding:22px;display:grid;gap:12px}.hero-note{font-size:12px;color:var(--muted);line-height:1.55;margin-top:20px}.brief-card{padding:18px;border:1px solid rgba(129,174,158,.15);background:rgba(5,18,15,.58);border-radius:14px}.brief-card span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.brief-card strong{display:block;font-size:18px;margin-top:7px}.brief-card p{color:#b6c9c2;line-height:1.55;font-size:13px;margin:8px 0 0}.constraint-list{display:grid;gap:8px}.constraint{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid rgba(130,174,159,.13);border-radius:11px;background:rgba(6,18,16,.48);font-size:12px;color:#b9ccc5}.lock{color:var(--amber)}.panel{border-radius:var(--radius);padding:clamp(20px,3vw,34px)}.form-panel{max-width:640px;margin:48px auto}.form-panel h2,.section-head h2{font-size:clamp(32px,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:#bfd0ca;font-weight:700}.field input,.field select{width:100%;height:48px;border:1px solid var(--line);border-radius:10px;background:#071914;color:var(--text);padding:0 13px;outline:none}.field input:focus,.field select:focus{border-color:var(--green-2);box-shadow:0 0 0 3px rgba(55,186,123,.1)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.62fr);gap:20px}.company-title{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.company-title h2{font-size:clamp(34px,4vw,52px);letter-spacing:-.045em;margin:10px 0 8px}.company-title p{color:var(--muted);margin:0}.cohort-chip{border:1px solid rgba(118,230,170,.25);background:rgba(118,230,170,.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(--green);font-size:13px;margin-top:4px}.role-card{margin:22px 0;padding:16px;border:1px solid rgba(104,200,212,.2);border-radius:13px;background:rgba(104,200,212,.055)}.role-card strong{display:block;color:var(--cyan);margin-bottom:5px}.role-card p{margin:0;color:#b7ccc7;font-size:13px;line-height:1.55}.roadmap-title{margin:28px 0 12px}.mission-list{display:grid;gap:9px}.mission-card{width:100%;display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:center;text-align:left;border:1px solid rgba(125,170,154,.14);border-radius:13px;background:rgba(5,18,15,.52);color:var(--text);padding:14px;transition:.15s ease}.mission-card.available{cursor:pointer}.mission-card.available:hover{transform:translateX(3px);border-color:rgba(118,230,170,.34);background:rgba(16,40,33,.78)}.mission-number{display:grid;place-items:center;width:46px;height:42px;border:1px solid var(--line);border-radius:11px;color:var(--green);font-weight:800;font-size:12px}.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:.09em;padding:7px 9px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.status.ready{color:var(--green);border-color:rgba(118,230,170,.25)}.status.done{background:var(--green);color:#07130f;border-color:var(--green)}.aside-stack{display:grid;gap:14px;height:max-content;position:sticky;top:94px}.principle-card{padding:18px;border:1px solid rgba(240,197,107,.18);border-radius:14px;background:rgba(240,197,107,.045)}.principle-card strong{display:block;color:var(--amber);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.principle-card p{margin:8px 0 0;line-height:1.6;color:#c5d2cd;font-size:13px}.mission-shell{max-width:1260px;margin:0 auto}.mission-header{margin-bottom:20px}.mission-header h2{font-size:clamp(38px,5vw,64px);letter-spacing:-.05em;margin:10px 0}.mission-header>p{color:#adc3bb;line-height:1.65;max-width:980px}.mission-toolbar{display:flex;justify-content:space-between;align-items:center;margin-top:20px;gap:16px}.step-track{display:flex;align-items:center;gap:6px}.step-track span{width:30px;height:4px;background:#1b3b32;border-radius:10px}.step-track span.active{background:var(--green)}.workspace{border-radius:20px;padding:clamp(20px,3vw,34px)}.stage-label{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:22px}.stage-label h3{margin:0 0 6px;font-size:24px}.counter{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--green);border:1px solid rgba(118,230,170,.22);padding:7px 10px;border-radius:999px;white-space:nowrap}.message-card{display:grid;grid-template-columns:54px 1fr;gap:16px;padding:22px;border:1px solid rgba(104,200,212,.22);border-radius:15px;background:rgba(104,200,212,.05)}.avatar{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:rgba(104,200,212,.14);color:var(--cyan);font-weight:900}.message-meta{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.09em}.message-card blockquote{margin:10px 0 0;font-size:19px;line-height:1.55;color:#eef7f4}.decision-question{margin:22px 0 12px;font-weight:800;font-size:19px}.option-list{display:grid;gap:10px}.choice{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;padding:15px;border:1px solid rgba(128,172,157,.16);border-radius:12px;background:rgba(6,20,17,.52);cursor:pointer}.choice:hover{border-color:#466d60}.choice.selected{border-color:rgba(118,230,170,.5);background:rgba(55,186,123,.08)}.choice input{margin-top:3px;accent-color:var(--green-2)}.choice strong{display:block}.choice span{color:#b5c9c1;font-size:13px;line-height:1.5}.evidence-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.evidence-card{min-height:215px;border:1px solid rgba(126,171,155,.16);border-radius:13px;background:#081b16;color:var(--text);padding:15px;text-align:left;cursor:pointer;display:flex;flex-direction:column;transition:.15s ease}.evidence-card:hover{transform:translateY(-2px);border-color:#477062}.evidence-card.open{border-color:rgba(118,230,170,.42);background:linear-gradient(150deg,rgba(21,54,43,.82),rgba(8,27,22,.96))}.evidence-source{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.evidence-card h4{font-size:15px;margin:8px 0}.evidence-signal{font-size:26px;font-weight:900;letter-spacing:-.03em;color:var(--green);margin-top:auto}.evidence-values{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.evidence-values div{padding:8px;border-radius:8px;background:rgba(4,15,12,.58);font-size:11px;color:#bfd1ca}.evidence-values strong{display:block;color:var(--text);font-size:12px;margin-top:3px}.evidence-detail{display:none;color:#afc5bc;font-size:12px;line-height:1.5;margin-top:12px}.evidence-card.open .evidence-detail{display:block}.evidence-selection{margin-top:18px;padding:15px;border-radius:12px;border:1px solid rgba(118,230,170,.16);background:rgba(55,186,123,.04);color:#bfd0ca;font-size:13px}.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.period-card{border:1px solid rgba(128,172,157,.15);border-radius:14px;background:rgba(6,20,17,.52);padding:18px}.period-card h4{font-size:20px;margin:0 0 16px}.metric-row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid rgba(128,172,157,.1)}.metric-row:last-child{border-bottom:0}.metric-row span{color:var(--muted);font-size:12px}.metric-row strong{font-size:13px}.delta-banner{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.delta{padding:14px;border-radius:12px;border:1px solid rgba(126,171,155,.14);background:rgba(6,19,16,.5)}.delta span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.delta strong{display:block;margin-top:6px;font-size:18px}.delta.good strong{color:var(--green)}.delta.warn strong{color:var(--amber)}.feedback-card{padding:20px;border-radius:15px;border:1px solid rgba(126,171,155,.18);background:rgba(5,18,15,.55)}.feedback-card.strong{border-color:rgba(118,230,170,.42)}.feedback-card.needs_evidence{border-color:rgba(240,197,107,.38)}.feedback-card.constraint_conflict{border-color:rgba(240,123,123,.38)}.feedback-card.defensible_but_incomplete{border-color:rgba(121,174,232,.38)}.feedback-card h3{margin:0 0 8px}.feedback-card p{margin:0;color:#bdd0c8;line-height:1.65}.takeaways{display:grid;gap:8px;margin-top:18px}.takeaway{padding:12px;border-left:2px solid var(--green);background:rgba(55,186,123,.04);font-size:13px;color:#c0d0ca}.reflection{margin-top:18px;padding:15px;border:1px dashed rgba(104,200,212,.35);border-radius:12px;color:#c1d2cd}.decision-log{display:grid;gap:8px}.log-item{padding:11px 12px;border:1px solid rgba(127,171,156,.13);border-radius:10px;background:rgba(6,18,15,.46)}.log-item span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.log-item strong{display:block;margin-top:4px;font-size:12px}.instructor-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:20px}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:11px 10px;text-align:left;border-bottom:1px solid rgba(128,172,157,.12);font-size:12px}.data-table th{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.summary-card{padding:15px;border:1px solid rgba(127,171,156,.15);border-radius:12px;background:rgba(6,18,15,.46)}.summary-card span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.summary-card strong{display:block;margin-top:6px;font-size:24px}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,18px);opacity:0;pointer-events:none;transition:.2s ease;padding:11px 15px;border-radius:10px;background:#17372d;color:var(--text);border:1px solid #356c58;box-shadow:var(--shadow);z-index:50;font-size:13px}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1000px){.hero,.dashboard-grid,.instructor-grid{grid-template-columns:1fr}.aside-stack{position:static}.evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.delta-banner{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.app-shell{width:min(100% - 22px,1440px)}.topbar{padding:0 12px}.brand small{display:none}.hero{min-height:auto}.hero h1{font-size:48px}.company-title,.mission-toolbar,.stage-label{align-items:stretch;flex-direction:column}.evidence-grid,.comparison-grid,.delta-banner,.summary-grid{grid-template-columns:1fr}.mission-card{grid-template-columns:46px 1fr}.mission-card .status{grid-column:2}.message-card{grid-template-columns:1fr}.avatar{width:46px;height:46px}}


/* v0.1.1 evidence investigation */
.evidence-card.locked{
  min-height:215px;
}

.evidence-card.locked:hover{
  border-color:rgba(118,230,170,.42);
  background:rgba(15,39,32,.72);
}

.evidence-card.reviewed{
  cursor:default;
}

.evidence-locked{
  margin-top:auto;
  padding:13px;
  border:1px dashed rgba(126,171,155,.24);
  border-radius:10px;
  background:rgba(5,18,15,.42);
}

.evidence-locked span{
  display:block;
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}

.evidence-locked strong{
  display:block;
  margin-top:10px;
  color:var(--green);
  font-size:12px;
}

.evidence-meta{
  display:grid;
  gap:7px;
  margin:8px 0 12px;
  padding:10px;
  border-radius:9px;
  background:rgba(104,200,212,.055);
  border:1px solid rgba(104,200,212,.13);
  color:#afc5bc;
  font-size:10px;
  line-height:1.45;
}

.evidence-confidence{
  color:#c8d8d2;
}

.evidence-confidence strong{
  color:var(--cyan);
}

.evidence-use{
  display:flex;
  gap:8px;
  align-items:flex-start;
  margin-top:12px;
  padding-top:11px;
  border-top:1px solid rgba(128,172,157,.12);
  font-size:11px;
  line-height:1.4;
  color:#c0d0ca;
  cursor:pointer;
}

.evidence-use input{
  margin-top:2px;
  accent-color:var(--green-2);
}


/* v0.1.1 final M01 */

.attribution-equations{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.equation-card{
  padding:18px;
  border:1px solid rgba(128,172,157,.16);
  border-radius:14px;
  background:rgba(6,20,17,.52);
}

.equation-card>span{
  display:block;
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.09em;
  margin-bottom:13px;
}

.equation-line{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.equation-line strong{
  padding:10px 12px;
  border-radius:9px;
  background:rgba(4,15,12,.58);
  font-size:13px;
}

.equation-line b{
  color:var(--muted);
}

.attribution-deltas{
  grid-template-columns:repeat(5,1fr);
}

.attribution-principle{
  margin-top:16px;
}

.argument-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.argument-block{
  padding:18px;
  border:1px solid rgba(128,172,157,.16);
  border-radius:14px;
  background:rgba(6,20,17,.52);
}

.argument-block h4{
  margin:7px 0 5px;
  font-size:18px;
}

.argument-block>p{
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
  margin:0 0 14px;
}

.argument-step{
  display:inline-grid;
  place-items:center;
  min-width:32px;
  height:25px;
  padding:0 8px;
  border-radius:999px;
  border:1px solid rgba(118,230,170,.25);
  color:var(--green);
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
}

.argument-block .choice{
  padding:11px;
}

.argument-block .choice span{
  font-size:12px;
}

#argumentFeedback ul{
  margin:9px 0 0 18px;
  padding:0;
}

#argumentFeedback li{
  margin:5px 0;
  line-height:1.45;
}

.reasoning-summary{
  margin-top:16px;
}

.reflection-field{
  margin-top:18px;
}

.optional-label{
  margin-left:7px;
  color:var(--muted);
  font-weight:500;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.rich-log-item>strong{
  line-height:1.45;
}

.log-details{
  display:grid;
  gap:7px;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(128,172,157,.1);
}

.log-detail span{
  display:block;
  color:var(--muted);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.log-detail b{
  display:block;
  margin-top:2px;
  color:#c9d8d2;
  font-size:10px;
  line-height:1.45;
  font-weight:600;
}

@media(max-width:1000px){
  .attribution-deltas{
    grid-template-columns:repeat(3,1fr);
  }
}

@media(max-width:750px){
  .attribution-equations,
  .argument-grid{
    grid-template-columns:1fr;
  }

  .attribution-deltas{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:500px){
  .attribution-deltas{
    grid-template-columns:1fr;
  }
}


/* M02 KPI portfolio vertical */

.m02-constraint{
  margin-top:16px;
  padding:15px 17px;
  border:1px solid rgba(240,197,107,.2);
  border-radius:12px;
  background:rgba(240,197,107,.045);
}

.m02-constraint strong{
  display:block;
  color:var(--amber);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.m02-constraint p{
  margin:7px 0 0;
  color:#c7d4cf;
  font-size:13px;
  line-height:1.55;
}

.decision-map-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}

.decision-map-card{
  padding:16px;
  border:1px solid rgba(126,171,155,.16);
  border-radius:13px;
  background:rgba(6,20,17,.52);
}

.decision-map-number{
  display:inline-grid;
  place-items:center;
  min-width:34px;
  height:27px;
  padding:0 8px;
  border-radius:999px;
  border:1px solid rgba(118,230,170,.24);
  color:var(--green);
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
}

.decision-map-card h4{
  margin:13px 0 9px;
  font-size:15px;
}

.decision-map-card>strong{
  display:block;
  font-size:12px;
  line-height:1.5;
}

.decision-map-card p{
  margin:10px 0 0;
  color:var(--muted);
  font-size:11px;
  line-height:1.5;
}

.metric-library-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px;
}

.metric-library-card{
  min-height:220px;
  padding:15px;
  border:1px solid rgba(126,171,155,.16);
  border-radius:13px;
  background:#081b16;
  display:flex;
  flex-direction:column;
}

.metric-library-card.locked{
  cursor:pointer;
}

.metric-library-card.locked:hover{
  transform:translateY(-2px);
  border-color:rgba(118,230,170,.38);
}

.metric-library-card.reviewed{
  background:linear-gradient(150deg,rgba(18,45,37,.72),rgba(8,27,22,.96));
  border-color:rgba(118,230,170,.24);
}

.metric-library-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
}

.metric-kind{
  color:var(--cyan);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.metric-library-card h4{
  margin:11px 0 4px;
  font-size:17px;
}

.metric-unit{
  color:var(--green);
  font-size:12px;
}

.metric-library-card>p{
  color:#bbccc6;
  font-size:12px;
  line-height:1.5;
}

.metric-locked{
  margin-top:auto;
  padding:12px;
  border:1px dashed rgba(126,171,155,.22);
  border-radius:10px;
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}

.metric-locked strong{
  display:block;
  margin-top:9px;
  color:var(--green);
  font-size:11px;
}

.metric-limitation{
  margin-top:auto;
  padding:11px;
  border-radius:9px;
  background:rgba(240,197,107,.045);
  border:1px solid rgba(240,197,107,.14);
}

.metric-limitation strong{
  display:block;
  color:var(--amber);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.metric-limitation span{
  display:block;
  margin-top:5px;
  color:#b8c9c2;
  font-size:10px;
  line-height:1.45;
}

.kpi-board-grid{
  display:grid;
  gap:12px;
}

.kpi-decision-card{
  padding:17px;
  border:1px solid rgba(126,171,155,.16);
  border-radius:14px;
  background:rgba(6,20,17,.52);
}

.kpi-decision-card.assigned{
  border-color:rgba(118,230,170,.22);
}

.kpi-decision-head{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:12px;
  align-items:start;
}

.kpi-decision-head h4{
  margin:0 0 5px;
}

.kpi-decision-head p{
  margin:0;
  color:var(--muted);
  font-size:12px;
}

.assigned-metric{
  display:grid;
  grid-template-columns:minmax(120px,.6fr) 1fr auto;
  gap:12px;
  align-items:center;
  margin:14px 0 10px 56px;
  padding:12px;
  border-radius:10px;
  background:rgba(4,15,12,.58);
}

.assigned-metric span{
  color:var(--muted);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.assigned-metric strong{
  font-size:13px;
}

.assigned-metric b{
  color:var(--green);
  font-size:11px;
}

.empty-metric-slot{
  margin:14px 0 10px 56px;
  padding:12px;
  border:1px dashed rgba(126,171,155,.22);
  border-radius:10px;
  color:var(--muted);
  font-size:11px;
}

.metric-picker-btn{
  margin-left:56px;
}

.fit-feedback{
  margin:0 0 10px 56px;
  padding:10px 12px;
  border-radius:10px;
  font-size:11px;
}

.fit-feedback strong{
  display:block;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.fit-feedback p{
  margin:5px 0 0;
  line-height:1.45;
  color:#bdcdc7;
}

.fit-feedback.direct,
.portfolio-fit.direct{
  border:1px solid rgba(118,230,170,.25);
  background:rgba(55,186,123,.05);
}

.fit-feedback.direct strong,
.portfolio-fit.direct strong{
  color:var(--green);
}

.fit-feedback.defensible,
.portfolio-fit.defensible{
  border:1px solid rgba(121,174,232,.26);
  background:rgba(121,174,232,.05);
}

.fit-feedback.defensible strong,
.portfolio-fit.defensible strong{
  color:var(--blue);
}

.fit-feedback.weak,
.portfolio-fit.weak{
  border:1px solid rgba(240,197,107,.28);
  background:rgba(240,197,107,.045);
}

.fit-feedback.weak strong,
.portfolio-fit.weak strong{
  color:var(--amber);
}

.metric-picker{
  margin:12px 0 0 56px;
  padding:12px;
  border:1px solid rgba(104,200,212,.18);
  border-radius:11px;
  background:rgba(7,25,21,.94);
  display:grid;
  gap:7px;
}

.metric-picker-title{
  color:var(--cyan);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.09em;
  margin-bottom:3px;
}

.metric-picker-option{
  width:100%;
  display:grid;
  grid-template-columns:minmax(120px,.6fr) 1fr auto;
  gap:12px;
  align-items:center;
  text-align:left;
  border:1px solid rgba(126,171,155,.13);
  border-radius:9px;
  background:rgba(4,15,12,.58);
  color:var(--text);
  padding:10px;
  cursor:pointer;
}

.metric-picker-option:hover{
  border-color:rgba(118,230,170,.34);
}

.metric-picker-option span{
  color:var(--muted);
  font-size:9px;
}

.metric-picker-option strong{
  font-size:12px;
}

.metric-picker-option small{
  color:var(--green);
}

.portfolio-summary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-bottom:16px;
}

.portfolio-table-wrap{
  display:grid;
  gap:9px;
}

.portfolio-row{
  display:grid;
  grid-template-columns:1.15fr .8fr 1.2fr;
  gap:12px;
  align-items:stretch;
  padding:13px;
  border:1px solid rgba(126,171,155,.14);
  border-radius:12px;
  background:rgba(6,20,17,.48);
}

.portfolio-row>div:first-child span,
.portfolio-metric span{
  display:block;
  color:var(--muted);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.portfolio-row>div:first-child strong,
.portfolio-metric strong{
  display:block;
  margin-top:5px;
  font-size:11px;
  line-height:1.4;
}

.portfolio-metric b{
  display:block;
  margin-top:5px;
  color:var(--green);
  font-size:10px;
}

.portfolio-fit{
  padding:10px;
  border-radius:9px;
}

.portfolio-fit p{
  margin:5px 0 0;
  color:#bdcdc7;
  font-size:10px;
  line-height:1.4;
}

@media(max-width:1050px){
  .decision-map-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .metric-library-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .portfolio-row{
    grid-template-columns:1fr;
  }
}

@media(max-width:650px){
  .decision-map-grid,
  .metric-library-grid,
  .portfolio-summary{
    grid-template-columns:1fr;
  }

  .assigned-metric,
  .metric-picker-option{
    grid-template-columns:1fr;
  }

  .assigned-metric,
  .empty-metric-slot,
  .fit-feedback,
  .metric-picker-btn,
  .metric-picker{
    margin-left:0;
  }
}


/* M02 Decision Board v2 */

.board-workspace{
  display:grid;
  grid-template-columns:minmax(360px,.9fr) minmax(0,1.45fr);
  gap:14px;
  align-items:start;
}

.board-panel{
  border:1px solid rgba(126,171,155,.16);
  border-radius:14px;
  background:rgba(5,18,15,.54);
  padding:15px;
}

.board-panel-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(126,171,155,.12);
  margin-bottom:12px;
}

.board-panel-header p{
  margin:6px 0 0;
  color:var(--muted);
  font-size:11px;
  line-height:1.4;
}

.board-panel-count{
  min-width:30px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:999px;
  border:1px solid rgba(118,230,170,.23);
  color:var(--green);
  font-size:10px;
  font-weight:800;
}

.board-decision-list{
  display:grid;
  gap:8px;
}

.board-decision-card{
  width:100%;
  padding:12px;
  text-align:left;
  border:1px solid rgba(126,171,155,.14);
  border-radius:11px;
  background:rgba(5,19,15,.62);
  color:var(--text);
  cursor:pointer;
  transition:border-color .15s ease,background .15s ease,transform .15s ease;
}

.board-decision-card:hover{
  border-color:rgba(118,230,170,.34);
}

.board-decision-card.active{
  border-color:rgba(118,230,170,.55);
  background:rgba(27,74,57,.28);
  box-shadow:inset 3px 0 0 rgba(118,230,170,.75);
}

.board-decision-card.assigned:not(.active){
  background:rgba(10,31,25,.66);
}

.board-decision-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}

.board-decision-state{
  color:var(--muted);
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.09em;
}

.board-decision-card.active .board-decision-state{
  color:var(--green);
}

.board-decision-card h4{
  margin:9px 0 4px;
  font-size:13px;
}

.board-question{
  margin:0;
  color:#b8c9c2;
  font-size:10px;
  line-height:1.4;
}

.board-empty-slot{
  margin-top:9px;
  padding:8px 9px;
  border:1px dashed rgba(126,171,155,.18);
  border-radius:8px;
  color:var(--muted);
  font-size:9px;
}

.board-assigned-kpi{
  margin-top:9px;
  padding:9px;
  border-radius:8px;
  background:rgba(3,14,11,.6);
}

.board-assigned-kpi span{
  display:block;
  color:var(--muted);
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.board-assigned-kpi strong{
  display:block;
  margin-top:4px;
  font-size:11px;
}

.board-assigned-kpi b{
  display:block;
  margin-top:3px;
  color:var(--green);
  font-size:9px;
}

.board-fit{
  margin-top:7px;
  padding:8px 9px;
  border-radius:8px;
}

.board-fit>strong{
  display:block;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.board-fit p{
  margin:4px 0 0;
  color:#b8c9c2;
  font-size:9px;
  line-height:1.35;
}

.board-fit.direct{
  border:1px solid rgba(118,230,170,.22);
  background:rgba(55,186,123,.05);
}

.board-fit.direct>strong{
  color:var(--green);
}

.board-fit.defensible{
  border:1px solid rgba(121,174,232,.24);
  background:rgba(121,174,232,.05);
}

.board-fit.defensible>strong{
  color:var(--blue);
}

.board-fit.weak{
  border:1px solid rgba(240,197,107,.24);
  background:rgba(240,197,107,.045);
}

.board-fit.weak>strong{
  color:var(--amber);
}

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

.board-metric-card{
  min-height:146px;
  padding:12px;
  text-align:left;
  border:1px solid rgba(126,171,155,.15);
  border-radius:10px;
  background:rgba(7,25,20,.72);
  color:var(--text);
  cursor:pointer;
  transition:border-color .15s ease,transform .15s ease,background .15s ease;
}

.board-metric-card:not(:disabled):hover{
  transform:translateY(-1px);
  border-color:rgba(118,230,170,.42);
  background:rgba(12,38,30,.8);
}

.board-metric-card.used-here{
  border-color:rgba(118,230,170,.52);
  background:rgba(27,74,57,.2);
}

.board-metric-card.used-elsewhere{
  opacity:.48;
  cursor:not-allowed;
}

.board-metric-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:8px;
}

.board-metric-top>span{
  color:var(--muted);
  font-size:8px;
  line-height:1.3;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.metric-status{
  flex:0 0 auto;
  padding:3px 5px;
  border-radius:999px;
  font-size:7px;
  letter-spacing:.07em;
}

.metric-status.available{
  color:var(--cyan);
  border:1px solid rgba(104,200,212,.22);
}

.metric-status.current{
  color:var(--green);
  border:1px solid rgba(118,230,170,.28);
}

.metric-status.used{
  color:var(--muted);
  border:1px solid rgba(126,171,155,.16);
}

.board-metric-card h4{
  margin:9px 0 3px;
  font-size:13px;
}

.board-metric-unit{
  display:block;
  color:var(--green);
  font-size:9px;
}

.board-metric-card>p{
  margin:8px 0;
  color:#b9cbc4;
  font-size:9px;
  line-height:1.4;
}

.board-metric-card>small{
  display:block;
  margin-top:auto;
  color:var(--cyan);
  font-size:8px;
}

.board-guidance{
  margin-top:10px;
  padding:10px 12px;
  border:1px solid rgba(240,197,107,.16);
  border-radius:10px;
  background:rgba(240,197,107,.035);
}

.board-guidance strong{
  display:block;
  color:var(--amber);
  font-size:8px;
  letter-spacing:.09em;
}

.board-guidance p{
  margin:5px 0 0;
  color:#b9c8c3;
  font-size:9px;
  line-height:1.4;
}

@media(max-width:950px){
  .board-workspace{
    grid-template-columns:1fr;
  }
}

@media(max-width:650px){
  .board-metric-grid{
    grid-template-columns:1fr;
  }
}



/* M02 Growth Stress Test */

.stress-context-strip{
  display:grid;
  grid-template-columns:1fr auto 1fr 1fr;
  gap:12px;
  align-items:center;
  margin:16px 0 20px;
  padding:14px 16px;
  border:1px solid rgba(104,200,212,.18);
  border-radius:12px;
  background:rgba(9,31,27,.52);
}

.stress-context-strip>div:not(.stress-context-arrow){
  min-width:0;
}

.stress-context-strip span{
  display:block;
  color:var(--muted);
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.09em;
}

.stress-context-strip strong{
  display:block;
  margin-top:4px;
  font-size:18px;
}

.stress-context-strip small{
  display:block;
  margin-top:2px;
  color:#adbfba;
  font-size:9px;
}

.stress-context-arrow{
  color:var(--cyan);
  font-size:18px;
}

.stress-context-change{
  padding-left:16px;
  border-left:1px solid rgba(126,171,155,.14);
}

.stress-context-change strong{
  color:var(--cyan);
}

.stress-dashboard-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin:18px 0 12px;
}

.stress-dashboard-heading h3{
  margin:6px 0 5px;
}

.stress-dashboard-heading p{
  max-width:840px;
  margin:0;
  color:var(--muted);
  font-size:11px;
  line-height:1.5;
}

.stress-dashboard-count{
  flex:0 0 auto;
  padding:6px 10px;
  border:1px solid rgba(118,230,170,.22);
  border-radius:999px;
  color:var(--green);
  font-size:9px;
  font-weight:800;
}

.stress-dashboard-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.stress-kpi-card{
  padding:14px;
  border:1px solid rgba(126,171,155,.16);
  border-radius:12px;
  background:rgba(6,22,18,.66);
}

.stress-kpi-head{
  display:flex;
  align-items:center;
  gap:8px;
}

.stress-kpi-head>span:last-child{
  color:var(--muted);
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.stress-kpi-card h4{
  margin:11px 0 3px;
  font-size:14px;
}

.stress-kpi-card>small{
  display:block;
  min-height:24px;
  color:var(--muted);
  font-size:8px;
  line-height:1.4;
}

.stress-values{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:7px;
  align-items:center;
  margin-top:12px;
  padding:10px;
  border-radius:9px;
  background:rgba(3,14,11,.58);
}

.stress-values span,
.stress-change span{
  display:block;
  color:var(--muted);
  font-size:7px;
  letter-spacing:.08em;
}

.stress-values strong{
  display:block;
  margin-top:4px;
  font-size:11px;
}

.stress-value-arrow{
  color:var(--cyan);
  font-size:12px;
}

.stress-change{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-top:8px;
  padding:8px 10px;
  border:1px solid rgba(126,171,155,.11);
  border-radius:8px;
}

.stress-change strong{
  color:var(--text);
  font-size:11px;
}

.stress-question{
  margin-top:14px;
  padding:14px 16px;
  border:1px solid rgba(240,197,107,.18);
  border-radius:12px;
  background:rgba(240,197,107,.035);
}

.stress-question h4{
  margin:8px 0 5px;
  font-size:14px;
}

.stress-question p{
  margin:0;
  color:#b9c9c4;
  font-size:10px;
  line-height:1.5;
}

@media(max-width:950px){
  .stress-dashboard-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:650px){
  .stress-context-strip,
  .stress-dashboard-grid{
    grid-template-columns:1fr;
  }

  .stress-context-arrow{
    transform:rotate(90deg);
  }

  .stress-context-change{
    padding-left:0;
    padding-top:10px;
    border-left:0;
    border-top:1px solid rgba(126,171,155,.14);
  }
}



/* M02 simplified board */

.board-metric-limitation{
  margin:8px 0;
  padding:8px 9px;
  border:1px solid rgba(240,197,107,.13);
  border-radius:8px;
  background:rgba(240,197,107,.035);
}

.board-metric-limitation strong{
  display:block;
  color:var(--amber);
  font-size:7px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.board-metric-limitation span{
  display:block;
  margin-top:4px;
  color:#b9c8c3;
  font-size:8px;
  line-height:1.4;
}

.board-metrics-panel{
  max-height:650px;
  overflow-y:auto;
}



/* M02 final review */

.m02-close-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:16px;
}

.m02-close-panel h3{
  margin:8px 0 14px;
  font-size:16px;
}

.m02-review-feedback{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

@media(max-width:800px){
  .m02-close-grid,
  .m02-review-feedback{
    grid-template-columns:1fr;
  }
}



/* M03 Capacity Review */

.m03-action-legend{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin-top:16px;
}

.m03-action-legend>div{
  padding:11px;
  border:1px solid rgba(126,171,155,.14);
  border-radius:10px;
  background:rgba(6,20,17,.48);
}

.m03-action-legend strong{
  display:block;
  color:var(--green);
  font-size:10px;
}

.m03-action-legend span{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:9px;
  line-height:1.4;
}

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

.m03-signal-card{
  padding:15px;
  border:1px solid rgba(126,171,155,.16);
  border-radius:13px;
  background:rgba(6,21,17,.62);
}

.m03-signal-head{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:10px;
  align-items:start;
}

.m03-signal-head h4{
  margin:5px 0 0;
  font-size:15px;
}

.m03-observation,
.m03-context,
.m03-risk{
  margin-top:11px;
  padding:9px 10px;
  border-radius:9px;
}

.m03-observation{
  background:rgba(104,200,212,.035);
  border:1px solid rgba(104,200,212,.12);
}

.m03-context{
  background:rgba(118,230,170,.025);
  border:1px solid rgba(118,230,170,.1);
}

.m03-risk{
  background:rgba(240,197,107,.035);
  border:1px solid rgba(240,197,107,.12);
}

.m03-observation strong,
.m03-context strong,
.m03-risk strong{
  display:block;
  font-size:8px;
  letter-spacing:.08em;
}

.m03-observation strong{color:var(--cyan)}
.m03-context strong{color:var(--green)}
.m03-risk strong{color:var(--amber)}

.m03-observation p,
.m03-context p,
.m03-risk p{
  margin:5px 0 0;
  color:#bdccc7;
  font-size:10px;
  line-height:1.45;
}

.m03-actions{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:6px;
  margin-top:12px;
}

.m03-action-btn{
  border:1px solid rgba(126,171,155,.16);
  border-radius:8px;
  background:rgba(4,15,12,.62);
  color:#b8c8c3;
  padding:9px 6px;
  font-size:9px;
  cursor:pointer;
}

.m03-action-btn:hover{
  border-color:rgba(118,230,170,.34);
}

.m03-action-btn.selected{
  border-color:rgba(118,230,170,.52);
  background:rgba(27,74,57,.28);
  color:var(--green);
}

.m03-assessment{
  margin:10px 0 0;
}

.m03-review-groups{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.m03-review-group{
  position:relative;
  min-height:145px;
  padding:14px;
  border:1px solid rgba(126,171,155,.15);
  border-radius:11px;
  background:rgba(6,20,17,.52);
}

.m03-review-count{
  position:absolute;
  top:11px;
  right:12px;
  color:var(--green);
  font-size:22px;
}

.m03-review-items{
  display:grid;
  gap:6px;
  margin-top:15px;
}

.m03-review-items>div{
  padding:7px 8px;
  border-radius:7px;
  background:rgba(3,14,11,.52);
  color:#bdccc7;
  font-size:9px;
  line-height:1.35;
}

.m03-review-warning{
  margin-top:14px;
  padding:13px;
  border:1px solid rgba(240,197,107,.18);
  border-radius:11px;
  background:rgba(240,197,107,.035);
}

.m03-review-warning>strong{
  display:block;
  color:var(--amber);
  font-size:9px;
  letter-spacing:.08em;
}

.m03-review-warning>div{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:10px;
  margin-top:9px;
  font-size:10px;
}

.m03-review-warning b{
  color:var(--text);
}

.m03-review-warning span{
  color:#bdccc7;
}

@media(max-width:950px){
  .m03-action-legend,
  .m03-review-groups{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .m03-signal-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:650px){
  .m03-action-legend,
  .m03-review-groups,
  .m03-actions{
    grid-template-columns:1fr;
  }

  .m03-review-warning>div{
    grid-template-columns:1fr;
  }
}



/* M04 Ecodesign Sprint */

.m04-principle-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}

.m04-principle-strip>div{
  padding:12px;
  border:1px solid rgba(126,171,155,.14);
  border-radius:10px;
  background:rgba(6,20,17,.48);
}

.m04-principle-strip strong{
  display:block;
  color:var(--green);
  font-size:10px;
}

.m04-principle-strip span{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:9px;
  line-height:1.4;
}

.m04-slots{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}

.m04-slot{
  min-height:72px;
  padding:11px 13px;
  border:1px dashed rgba(126,171,155,.22);
  border-radius:10px;
  background:rgba(4,15,12,.5);
}

.m04-slot.filled{
  border-style:solid;
  border-color:rgba(118,230,170,.34);
  background:rgba(27,74,57,.15);
}

.m04-slot span{
  display:block;
  color:var(--muted);
  font-size:8px;
  letter-spacing:.08em;
}

.m04-slot strong{
  display:block;
  margin-top:8px;
  font-size:11px;
}

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

.m04-opportunity{
  padding:15px;
  border:1px solid rgba(126,171,155,.15);
  border-radius:13px;
  background:rgba(6,21,17,.6);
}

.m04-opportunity.selected{
  border-color:rgba(118,230,170,.4);
  background:rgba(22,58,46,.24);
}

.m04-opportunity-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}

.m04-opportunity-head h4{
  margin:5px 0 0;
  font-size:15px;
}

.m04-select-state{
  flex:0 0 auto;
  padding:4px 7px;
  border:1px solid rgba(126,171,155,.16);
  border-radius:999px;
  color:var(--muted);
  font-size:7px;
  letter-spacing:.08em;
}

.m04-opportunity.selected .m04-select-state{
  color:var(--green);
  border-color:rgba(118,230,170,.3);
}

.m04-observation,
.m04-proposal,
.m04-benefit,
.m04-tradeoff{
  margin-top:10px;
  padding:9px 10px;
  border-radius:8px;
}

.m04-observation{
  border:1px solid rgba(104,200,212,.11);
  background:rgba(104,200,212,.03);
}

.m04-proposal{
  border:1px solid rgba(118,230,170,.11);
  background:rgba(118,230,170,.025);
}

.m04-benefit{
  border:1px solid rgba(118,230,170,.15);
  background:rgba(55,186,123,.035);
}

.m04-tradeoff{
  border:1px solid rgba(240,197,107,.14);
  background:rgba(240,197,107,.035);
}

.m04-observation strong,
.m04-proposal strong,
.m04-benefit strong,
.m04-tradeoff strong{
  display:block;
  font-size:8px;
  letter-spacing:.08em;
}

.m04-observation strong{color:var(--cyan)}
.m04-proposal strong{color:var(--green)}
.m04-benefit strong{color:var(--green)}
.m04-tradeoff strong{color:var(--amber)}

.m04-observation p,
.m04-proposal p,
.m04-benefit p,
.m04-tradeoff p{
  margin:5px 0 0;
  color:#bdccc7;
  font-size:9px;
  line-height:1.45;
}

.m04-dimensions{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:10px;
}

.m04-dimensions span{
  padding:4px 7px;
  border:1px solid rgba(104,200,212,.15);
  border-radius:999px;
  color:var(--cyan);
  font-size:7px;
}

.m04-select-btn{
  margin-top:11px;
  width:100%;
}

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

.m04-review-card{
  padding:14px;
  border:1px solid rgba(126,171,155,.15);
  border-radius:11px;
  background:rgba(6,20,17,.54);
}

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

.m04-profile{
  font-size:7px;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.m04-profile.reference{
  color:var(--green);
}

.m04-profile.strong{
  color:var(--cyan);
}

.m04-profile.contextual{
  color:var(--amber);
}

.m04-review-card h4{
  margin:10px 0 3px;
  font-size:14px;
}

.m04-review-card>small{
  color:var(--muted);
  font-size:8px;
}

.m04-review-section{
  margin-top:10px;
  padding:8px 9px;
  border:1px solid rgba(118,230,170,.11);
  border-radius:8px;
}

.m04-review-section.tradeoff{
  border-color:rgba(240,197,107,.13);
}

.m04-review-section strong{
  display:block;
  color:var(--green);
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.m04-review-section.tradeoff strong{
  color:var(--amber);
}

.m04-review-section p{
  margin:5px 0 0;
  color:#bdccc7;
  font-size:9px;
  line-height:1.4;
}

.m04-backlog{
  margin-top:14px;
  padding:12px;
  border:1px solid rgba(126,171,155,.13);
  border-radius:10px;
  background:rgba(5,18,15,.45);
}

.m04-backlog>strong{
  display:block;
  color:var(--muted);
  font-size:8px;
  letter-spacing:.08em;
}

.m04-backlog>div{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
}

.m04-backlog span{
  padding:5px 8px;
  border-radius:7px;
  background:rgba(3,14,11,.55);
  color:#b8c8c3;
  font-size:8px;
}

@media(max-width:950px){
  .m04-opportunity-grid,
  .m04-review-selected{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  .m04-principle-strip,
  .m04-slots{
    grid-template-columns:1fr;
  }
}


/* M04 readability refinement */
.m04-observation strong,
.m04-proposal strong,
.m04-benefit strong,
.m04-tradeoff strong{
  font-size:9px;
}

.m04-observation p,
.m04-proposal p,
.m04-benefit p,
.m04-tradeoff p{
  font-size:11px;
  line-height:1.5;
}

.m04-dimensions span{
  font-size:8px;
}

.m04-principle-strip span{
  font-size:10px;
  line-height:1.45;
}

.m04-select-btn{
  min-height:36px;
  padding:8px 12px;
  font-size:11px;
}


/* M05 Cloud Constraints */

.m05-constraint-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin-top:14px;
}

.m05-constraint-grid>div{
  display:flex;
  gap:7px;
  align-items:flex-start;
  padding:10px;
  border:1px solid rgba(126,171,155,.13);
  border-radius:9px;
  background:rgba(5,18,15,.45);
}

.m05-constraint-grid span{
  color:var(--green);
  font-size:10px;
}

.m05-constraint-grid p{
  margin:0;
  color:#bdccc7;
  font-size:10px;
  line-height:1.4;
}

.m05-finops-warning{
  margin-top:14px;
  padding:12px 14px;
  border:1px solid rgba(240,197,107,.18);
  border-radius:10px;
  background:rgba(240,197,107,.04);
}

.m05-finops-warning strong{
  display:block;
  color:var(--amber);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.m05-finops-warning p{
  margin:6px 0 0;
  color:#c9c7b8;
  font-size:11px;
  line-height:1.5;
}

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

.m05-slot{
  min-height:80px;
  padding:11px 12px;
  border:1px dashed rgba(126,171,155,.22);
  border-radius:10px;
  background:rgba(4,15,12,.5);
}

.m05-slot.filled{
  border-style:solid;
  border-color:rgba(118,230,170,.35);
  background:rgba(27,74,57,.15);
}

.m05-slot>span{
  display:block;
  color:var(--muted);
  font-size:8px;
  letter-spacing:.08em;
}

.m05-slot>strong{
  display:block;
  margin-top:7px;
  font-size:11px;
  line-height:1.35;
}

.m05-slot>small{
  display:block;
  margin-top:5px;
  color:var(--green);
  font-size:9px;
  line-height:1.35;
}

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

.m05-signal-card{
  padding:15px;
  border:1px solid rgba(126,171,155,.15);
  border-radius:13px;
  background:rgba(6,21,17,.6);
}

.m05-signal-card.in-plan{
  border-color:rgba(118,230,170,.4);
  background:rgba(22,58,46,.22);
}

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

.m05-signal-head h4{
  margin:5px 0 0;
  font-size:15px;
}

.m05-plan-state{
  flex:0 0 auto;
  padding:4px 7px;
  border:1px solid rgba(126,171,155,.16);
  border-radius:999px;
  color:var(--muted);
  font-size:8px;
  letter-spacing:.08em;
}

.m05-signal-card.in-plan .m05-plan-state{
  color:var(--green);
  border-color:rgba(118,230,170,.3);
}

.m05-evidence-block,
.m05-finops-block{
  margin-top:10px;
  padding:9px 10px;
  border-radius:8px;
}

.m05-evidence-block{
  border:1px solid rgba(104,200,212,.12);
  background:rgba(104,200,212,.03);
}

.m05-finops-block{
  border:1px solid rgba(118,230,170,.12);
  background:rgba(118,230,170,.025);
}

.m05-evidence-block strong,
.m05-finops-block strong{
  display:block;
  font-size:9px;
  letter-spacing:.08em;
}

.m05-evidence-block strong{
  color:var(--cyan);
}

.m05-finops-block strong{
  color:var(--green);
}

.m05-evidence-block p,
.m05-finops-block p{
  margin:5px 0 0;
  color:#bdccc7;
  font-size:11px;
  line-height:1.5;
}

.m05-dimensions{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:9px;
}

.m05-dimensions span{
  padding:4px 7px;
  border:1px solid rgba(104,200,212,.15);
  border-radius:999px;
  color:var(--cyan);
  font-size:8px;
}

.m05-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
  margin-top:11px;
}

.m05-action-btn{
  width:100%;
  padding:8px 10px;
  border:1px solid rgba(126,171,155,.16);
  border-radius:8px;
  background:rgba(3,14,11,.5);
  color:#c3d0cc;
  font:inherit;
  font-size:10px;
  text-align:left;
  cursor:pointer;
}

.m05-action-btn:hover{
  border-color:rgba(118,230,170,.34);
}

.m05-action-btn.selected{
  border-color:rgba(118,230,170,.45);
  background:rgba(31,88,66,.22);
  color:#e5f6ef;
}

.m05-feedback{
  margin-top:10px;
  padding:9px 10px;
  border-radius:8px;
}

.m05-feedback strong{
  display:block;
  font-size:9px;
}

.m05-feedback p{
  margin:5px 0 0;
  font-size:10px;
  line-height:1.45;
}

.m05-feedback.strong{
  border:1px solid rgba(118,230,170,.2);
  background:rgba(118,230,170,.04);
}

.m05-feedback.strong strong{
  color:var(--green);
}

.m05-feedback.defensible{
  border:1px solid rgba(104,200,212,.2);
  background:rgba(104,200,212,.04);
}

.m05-feedback.defensible strong{
  color:var(--cyan);
}

.m05-feedback.weak{
  border:1px solid rgba(240,197,107,.2);
  background:rgba(240,197,107,.04);
}

.m05-feedback.weak strong{
  color:var(--amber);
}

.m05-feedback.out-of-scope{
  border:1px solid rgba(185,148,220,.2);
  background:rgba(185,148,220,.04);
}

.m05-feedback.out-of-scope strong{
  color:#c9a9e6;
}

.m05-plan-btn{
  width:100%;
  margin-top:10px;
  min-height:36px;
  padding:8px 12px;
  font-size:11px;
}

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

.m05-review-card{
  padding:14px;
  border:1px solid rgba(126,171,155,.15);
  border-radius:11px;
  background:rgba(6,20,17,.54);
}

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

.m05-review-assessment{
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.m05-review-assessment.strong{
  color:var(--green);
}

.m05-review-assessment.defensible{
  color:var(--cyan);
}

.m05-review-assessment.weak{
  color:var(--amber);
}

.m05-review-assessment.out-of-scope{
  color:#c9a9e6;
}

.m05-review-card h4{
  margin:10px 0 3px;
  font-size:14px;
}

.m05-review-card>small{
  color:var(--muted);
  font-size:9px;
}

.m05-review-action,
.m05-review-reason{
  margin-top:10px;
  padding:9px 10px;
  border:1px solid rgba(118,230,170,.11);
  border-radius:8px;
}

.m05-review-reason{
  border-color:rgba(104,200,212,.11);
}

.m05-review-action strong,
.m05-review-reason strong{
  display:block;
  color:var(--green);
  font-size:9px;
  letter-spacing:.07em;
}

.m05-review-reason strong{
  color:var(--cyan);
}

.m05-review-action p,
.m05-review-reason p{
  margin:5px 0 0;
  color:#bdccc7;
  font-size:10px;
  line-height:1.45;
}

.m05-plan-warning{
  margin-top:14px;
  padding:12px;
  border:1px solid rgba(240,197,107,.2);
  border-radius:10px;
  background:rgba(240,197,107,.04);
}

.m05-plan-warning strong{
  color:var(--amber);
  font-size:10px;
}

.m05-plan-warning p{
  margin:6px 0 0;
  color:#c8c4b3;
  font-size:10px;
  line-height:1.45;
}

.m05-separation{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}

.m05-separation>div{
  padding:12px;
  border:1px solid rgba(118,230,170,.13);
  border-radius:10px;
  background:rgba(6,20,17,.48);
}

.m05-separation>div.warning{
  border-color:rgba(240,197,107,.17);
  background:rgba(240,197,107,.035);
}

.m05-separation h4{
  margin:6px 0 0;
  font-size:12px;
}

.m05-separation p{
  margin:6px 0 0;
  color:#bdccc7;
  font-size:10px;
  line-height:1.45;
}

.m05-backlog{
  margin-top:14px;
  padding:12px;
  border:1px solid rgba(126,171,155,.13);
  border-radius:10px;
  background:rgba(5,18,15,.45);
}

.m05-backlog>strong{
  display:block;
  color:var(--muted);
  font-size:8px;
  letter-spacing:.08em;
}

.m05-backlog>div{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
}

.m05-backlog span{
  padding:5px 8px;
  border-radius:7px;
  background:rgba(3,14,11,.55);
  color:#b8c8c3;
  font-size:9px;
}

@media(max-width:1000px){
  .m05-constraint-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .m05-slots{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:850px){
  .m05-signal-grid,
  .m05-review-grid,
  .m05-separation{
    grid-template-columns:1fr;
  }
}

@media(max-width:650px){
  .m05-constraint-grid,
  .m05-slots{
    grid-template-columns:1fr;
  }
}



/* M06 AI Architecture Composer */

.m06-flow-preview{
  display:flex;
  align-items:stretch;
  gap:7px;
  margin-top:16px;
  overflow-x:auto;
  padding-bottom:3px;
}

.m06-flow-preview-node{
  flex:1 0 120px;
  min-width:120px;
  padding:10px;
  border:1px solid rgba(104,200,212,.14);
  border-radius:9px;
  background:rgba(5,18,17,.52);
}

.m06-flow-preview-node span{
  display:block;
  color:var(--cyan);
  font-size:8px;
}

.m06-flow-preview-node strong{
  display:block;
  margin-top:5px;
  font-size:10px;
  line-height:1.35;
}

.m06-flow-arrow{
  align-self:center;
  color:var(--muted);
}

.m06-dimension-preview{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin-top:12px;
}

.m06-dimension-preview>div{
  padding:10px;
  border:1px solid rgba(126,171,155,.13);
  border-radius:9px;
  background:rgba(5,18,15,.42);
}

.m06-dimension-preview strong{
  display:block;
  color:var(--green);
  font-size:9px;
}

.m06-dimension-preview span{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:9px;
  line-height:1.4;
}

.m06-pipeline{
  display:flex;
  align-items:stretch;
  gap:7px;
  margin-bottom:15px;
  overflow-x:auto;
  padding:3px 0 5px;
}

.m06-endpoint,
.m06-pipeline-node{
  flex:1 0 145px;
  min-width:145px;
  border-radius:10px;
}

.m06-endpoint{
  padding:12px;
  border:1px solid rgba(104,200,212,.16);
  background:rgba(104,200,212,.035);
}

.m06-endpoint span{
  display:block;
  color:var(--cyan);
  font-size:8px;
  letter-spacing:.08em;
}

.m06-endpoint strong{
  display:block;
  margin-top:7px;
  font-size:11px;
}

.m06-pipeline-node{
  padding:11px;
  border:1px solid rgba(126,171,155,.16);
  background:rgba(4,15,12,.55);
  color:inherit;
  text-align:left;
  cursor:pointer;
}

.m06-pipeline-node:hover{
  border-color:rgba(118,230,170,.34);
}

.m06-pipeline-node.active{
  border-color:rgba(104,200,212,.5);
  background:rgba(104,200,212,.055);
}

.m06-pipeline-node.configured{
  border-color:rgba(118,230,170,.32);
}

.m06-pipeline-node>span{
  display:block;
  color:var(--muted);
  font-size:8px;
}

.m06-pipeline-node>strong{
  display:block;
  margin-top:5px;
  font-size:11px;
}

.m06-pipeline-node>small{
  display:block;
  margin-top:7px;
  color:#b8c9c3;
  font-size:8px;
  line-height:1.35;
}

.m06-pipeline-node>em{
  display:inline-block;
  margin-top:7px;
  font-size:7px;
  font-style:normal;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.m06-pipeline-node>em.proportionate{
  color:var(--green);
}

.m06-pipeline-node>em.defensible{
  color:var(--cyan);
}

.m06-pipeline-node>em.risky{
  color:var(--amber);
}

.m06-pipeline-arrow{
  align-self:center;
  color:var(--muted);
  font-size:15px;
}

.m06-composer-layout{
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);
  gap:14px;
}

.m06-stage-editor,
.m06-architecture-panel{
  border:1px solid rgba(126,171,155,.14);
  border-radius:12px;
  background:rgba(6,20,17,.5);
}

.m06-stage-editor{
  padding:15px;
}

.m06-architecture-panel{
  padding:14px;
  align-self:start;
  position:sticky;
  top:14px;
}

.m06-stage-editor-head h3{
  margin:6px 0 0;
  font-size:20px;
}

.m06-stage-question{
  margin-top:13px;
  padding:13px;
  border-left:3px solid rgba(104,200,212,.55);
  background:rgba(104,200,212,.035);
  font-size:12px;
  line-height:1.5;
}

.m06-evidence-list{
  margin-top:13px;
  padding:12px;
  border:1px solid rgba(104,200,212,.1);
  border-radius:9px;
}

.m06-evidence-list>strong{
  display:block;
  color:var(--cyan);
  font-size:8px;
  letter-spacing:.08em;
}

.m06-evidence-list>div{
  display:flex;
  gap:8px;
  margin-top:7px;
}

.m06-evidence-list>div span{
  color:var(--cyan);
  font-size:8px;
  margin-top:2px;
}

.m06-evidence-list p{
  margin:0;
  color:#bdccc7;
  font-size:10px;
  line-height:1.45;
}

.m06-options{
  display:grid;
  gap:8px;
  margin-top:13px;
}

.m06-option{
  width:100%;
  padding:12px;
  border:1px solid rgba(126,171,155,.14);
  border-radius:10px;
  background:rgba(3,14,11,.48);
  color:inherit;
  text-align:left;
  cursor:pointer;
}

.m06-option:hover{
  border-color:rgba(118,230,170,.32);
}

.m06-option.selected{
  border-color:rgba(118,230,170,.45);
  background:rgba(25,68,52,.22);
}

.m06-option-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
}

.m06-option-head strong{
  font-size:11px;
}

.m06-option-head span{
  flex:0 0 auto;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.m06-option-head span.proportionate{
  color:var(--green);
}

.m06-option-head span.defensible{
  color:var(--cyan);
}

.m06-option-head span.risky{
  color:var(--amber);
}

.m06-option>p{
  margin:6px 0 0;
  color:#b9c9c4;
  font-size:10px;
  line-height:1.45;
}

.m06-consequence{
  margin-top:9px;
  padding:9px;
  border:1px solid rgba(118,230,170,.11);
  border-radius:8px;
  background:rgba(118,230,170,.025);
}

.m06-consequence span{
  color:var(--green);
  font-size:8px;
  letter-spacing:.07em;
}

.m06-consequence p{
  margin:5px 0 0;
  color:#c5d2ce;
  font-size:10px;
  line-height:1.45;
}

.m06-stage-navigation{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:13px;
}

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

.m06-dimension-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  padding:9px 10px;
  border:1px solid rgba(126,171,155,.1);
  border-radius:8px;
}

.m06-dimension-row strong{
  display:block;
  font-size:10px;
}

.m06-dimension-row p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:8px;
  line-height:1.35;
}

.m06-impact-pill{
  flex:0 0 auto;
  padding:4px 7px;
  border-radius:999px;
  border:1px solid rgba(126,171,155,.16);
  font-size:8px;
  white-space:nowrap;
}

.m06-impact-pill.protects{
  color:var(--green);
  border-color:rgba(118,230,170,.3);
}

.m06-impact-pill.watch{
  color:var(--cyan);
  border-color:rgba(104,200,212,.3);
}

.m06-impact-pill.risk{
  color:var(--amber);
  border-color:rgba(240,197,107,.32);
}

.m06-impact-pill.neutral,
.m06-impact-pill.pending{
  color:var(--muted);
}

.m06-current-decision{
  margin-top:12px;
  padding:11px;
  border:1px solid rgba(104,200,212,.12);
  border-radius:9px;
  background:rgba(104,200,212,.03);
}

.m06-current-decision>strong{
  display:block;
  margin-top:5px;
  font-size:10px;
}

.m06-current-decision>p{
  margin:6px 0 0;
  color:#bdccc7;
  font-size:9px;
  line-height:1.45;
}

.m06-review-layout{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(280px,.75fr);
  gap:14px;
}

.m06-review-trace{
  display:grid;
  gap:9px;
}

.m06-review-step{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:10px;
  align-items:stretch;
}

.m06-review-step-index{
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(104,200,212,.16);
  border-radius:9px;
  color:var(--cyan);
  font-size:11px;
}

.m06-review-step-body{
  padding:12px;
  border:1px solid rgba(126,171,155,.14);
  border-radius:10px;
  background:rgba(6,20,17,.5);
}

.m06-review-step-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
}

.m06-review-step-head h4{
  margin:5px 0 0;
  font-size:13px;
}

.m06-review-assessment{
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.m06-review-assessment.proportionate{
  color:var(--green);
}

.m06-review-assessment.defensible{
  color:var(--cyan);
}

.m06-review-assessment.risky{
  color:var(--amber);
}

.m06-review-choice{
  display:block;
  margin-top:9px;
  color:#e1eee9;
  font-size:10px;
}

.m06-review-step-body>p{
  margin:6px 0 0;
  color:#b9c9c4;
  font-size:10px;
  line-height:1.45;
}

.m06-review-system{
  padding:14px;
  border:1px solid rgba(126,171,155,.14);
  border-radius:11px;
  background:rgba(6,20,17,.5);
  align-self:start;
}

.m06-review-system h3{
  margin:6px 0 0;
  font-size:15px;
}

.m06-review-dimensions{
  display:grid;
  gap:7px;
  margin-top:12px;
}

.m06-review-dimension{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  padding:8px 9px;
  border:1px solid rgba(126,171,155,.1);
  border-radius:8px;
}

.m06-review-dimension strong{
  font-size:9px;
}

.m06-system-warning,
.m06-system-good{
  margin-top:12px;
  padding:10px;
  border-radius:9px;
}

.m06-system-warning{
  border:1px solid rgba(240,197,107,.18);
  background:rgba(240,197,107,.035);
}

.m06-system-good{
  border:1px solid rgba(118,230,170,.17);
  background:rgba(118,230,170,.03);
}

.m06-system-warning strong{
  color:var(--amber);
}

.m06-system-good strong{
  color:var(--green);
}

.m06-system-warning strong,
.m06-system-good strong{
  font-size:9px;
}

.m06-system-warning p,
.m06-system-good p{
  margin:6px 0 0;
  color:#bdccc7;
  font-size:9px;
  line-height:1.45;
}

.m06-system-outcomes{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:15px;
}

.m06-system-outcomes>div{
  padding:12px;
  border:1px solid rgba(118,230,170,.12);
  border-radius:10px;
  background:rgba(6,20,17,.45);
}

.m06-system-outcomes>div.warning{
  border-color:rgba(240,197,107,.17);
  background:rgba(240,197,107,.035);
}

.m06-system-outcomes p{
  margin:6px 0 0;
  color:#bdccc7;
  font-size:9px;
  line-height:1.45;
}

@media(max-width:1100px){
  .m06-dimension-preview{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:900px){
  .m06-composer-layout,
  .m06-review-layout,
  .m06-system-outcomes{
    grid-template-columns:1fr;
  }

  .m06-architecture-panel{
    position:static;
  }
}

@media(max-width:650px){
  .m06-dimension-preview{
    grid-template-columns:1fr;
  }
}



/* M07 Device Lifecycle Timeline */

.m07-asset-profile{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,1fr);
  gap:14px;
  margin-top:15px;
  padding:14px;
  border:1px solid rgba(126,171,155,.14);
  border-radius:11px;
  background:rgba(6,20,17,.48);
}

.m07-asset-profile h3{
  margin:6px 0;
  font-size:16px;
}

.m07-asset-profile p{
  margin:0;
  color:#bdccc7;
  font-size:10px;
  line-height:1.45;
}

.m07-asset-facts{
  display:grid;
  gap:6px;
}

.m07-asset-facts span{
  color:#b8c8c3;
  font-size:9px;
  line-height:1.4;
}

.m07-mini-timeline{
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:14px;
}

.m07-mini-timeline>div{
  min-width:78px;
  text-align:center;
}

.m07-mini-timeline strong{
  display:block;
  color:var(--green);
  font-size:11px;
}

.m07-mini-timeline small{
  color:var(--muted);
  font-size:8px;
}

.m07-mini-line{
  width:54px;
  height:1px;
  background:rgba(126,171,155,.25);
}

.m07-timeline-track{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
  margin-bottom:16px;
  position:relative;
}

.m07-timeline-track:before{
  content:"";
  position:absolute;
  top:16px;
  left:8%;
  right:8%;
  height:1px;
  background:rgba(126,171,155,.2);
}

.m07-time-node{
  position:relative;
  z-index:1;
  padding:0 6px;
  border:0;
  background:transparent;
  color:inherit;
  text-align:center;
  cursor:pointer;
}

.m07-time-node:disabled{
  cursor:default;
  opacity:.48;
}

.m07-time-dot{
  display:block;
  width:11px;
  height:11px;
  margin:11px auto 8px;
  border:2px solid #31453f;
  border-radius:50%;
  background:#07110e;
}

.m07-time-node.ready .m07-time-dot{
  border-color:var(--cyan);
}

.m07-time-node.done .m07-time-dot{
  border-color:var(--green);
  background:var(--green);
}

.m07-time-node.active .m07-time-dot{
  box-shadow:0 0 0 5px rgba(104,200,212,.08);
}

.m07-time-node strong{
  display:block;
  font-size:11px;
}

.m07-time-node small{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:8px;
}

.m07-time-node em{
  display:block;
  margin-top:5px;
  color:#aebdb8;
  font-size:7px;
  font-style:normal;
  line-height:1.3;
}

.m07-event-layout{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(280px,.7fr);
  gap:14px;
}

.m07-event-card,
.m07-history{
  border:1px solid rgba(126,171,155,.14);
  border-radius:12px;
  background:rgba(6,20,17,.5);
}

.m07-event-card{
  padding:16px;
}

.m07-history{
  padding:14px;
  align-self:start;
}

.m07-event-head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
}

.m07-event-head h2{
  margin:6px 0 0;
  font-size:23px;
}

.m07-event-index{
  color:var(--muted);
  font-size:9px;
}

.m07-situation,
.m07-evidence{
  margin-top:13px;
  padding:12px;
  border-radius:9px;
}

.m07-situation{
  border:1px solid rgba(104,200,212,.13);
  background:rgba(104,200,212,.03);
}

.m07-evidence{
  border:1px solid rgba(118,230,170,.1);
  background:rgba(118,230,170,.02);
}

.m07-situation>strong,
.m07-evidence>strong{
  display:block;
  color:var(--cyan);
  font-size:8px;
  letter-spacing:.08em;
}

.m07-evidence>strong{
  color:var(--green);
}

.m07-situation p{
  margin:6px 0 0;
  color:#c3d0cc;
  font-size:11px;
  line-height:1.5;
}

.m07-evidence>div{
  display:flex;
  gap:8px;
  margin-top:7px;
}

.m07-evidence>div span{
  color:var(--green);
  font-size:8px;
}

.m07-evidence p{
  margin:0;
  color:#bdccc7;
  font-size:10px;
  line-height:1.4;
}

.m07-choices{
  display:grid;
  gap:8px;
  margin-top:13px;
}

.m07-choice{
  width:100%;
  padding:12px;
  border:1px solid rgba(126,171,155,.14);
  border-radius:10px;
  background:rgba(3,14,11,.5);
  color:inherit;
  text-align:left;
  cursor:pointer;
}

.m07-choice:hover{
  border-color:rgba(118,230,170,.32);
}

.m07-choice.selected{
  border-color:rgba(118,230,170,.42);
  background:rgba(25,68,52,.2);
}

.m07-choice-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}

.m07-choice-head strong{
  font-size:11px;
}

.m07-choice-head span{
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.m07-choice-head span.circular,
.m07-history-item small.circular,
.m07-review-head span.circular{
  color:var(--green);
}

.m07-choice-head span.defensible,
.m07-history-item small.defensible,
.m07-review-head span.defensible{
  color:var(--cyan);
}

.m07-choice-head span.premature,
.m07-choice-head span.poor_fit,
.m07-history-item small.premature,
.m07-history-item small.poor_fit,
.m07-review-head span.premature,
.m07-review-head span.poor_fit{
  color:var(--amber);
}

.m07-choice-head span.security_limit,
.m07-history-item small.security_limit,
.m07-review-head span.security_limit{
  color:#e39b9b;
}

.m07-consequence,
.m07-future-effect{
  margin-top:9px;
  padding:9px;
  border-radius:8px;
}

.m07-consequence{
  border:1px solid rgba(118,230,170,.11);
  background:rgba(118,230,170,.025);
}

.m07-future-effect{
  border:1px solid rgba(104,200,212,.11);
  background:rgba(104,200,212,.025);
}

.m07-consequence span,
.m07-future-effect span{
  display:block;
  color:var(--green);
  font-size:8px;
  letter-spacing:.07em;
}

.m07-future-effect span{
  color:var(--cyan);
}

.m07-consequence p,
.m07-future-effect p{
  margin:5px 0 0;
  color:#bdccc7;
  font-size:10px;
  line-height:1.45;
}

.m07-event-actions{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:14px;
}

.m07-history h3{
  margin:6px 0 0;
  font-size:15px;
}

.m07-history-list{
  display:grid;
  gap:8px;
  margin-top:12px;
}

.m07-history-item{
  padding:9px;
  border:1px solid rgba(126,171,155,.1);
  border-radius:8px;
}

.m07-history-item>div:first-child{
  display:flex;
  gap:7px;
  align-items:baseline;
}

.m07-history-item>div:first-child strong{
  color:var(--green);
  font-size:9px;
}

.m07-history-item>div:first-child span{
  color:#b8c8c3;
  font-size:8px;
}

.m07-history-item>div:last-child{
  margin-top:6px;
}

.m07-history-item b{
  display:block;
  font-size:9px;
}

.m07-history-item small{
  display:block;
  margin-top:3px;
  font-size:7px;
  text-transform:uppercase;
}

.m07-current-outcome{
  margin-top:12px;
  padding:10px;
  border:1px solid rgba(104,200,212,.12);
  border-radius:9px;
  background:rgba(104,200,212,.03);
}

.m07-current-outcome strong{
  display:block;
  margin-top:6px;
  font-size:10px;
}

.m07-current-outcome p{
  margin:6px 0 0;
  color:#bdccc7;
  font-size:9px;
  line-height:1.45;
}

.m07-review-layout{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(290px,.75fr);
  gap:14px;
}

.m07-review-path{
  display:grid;
  gap:8px;
}

.m07-review-event{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:10px;
}

.m07-review-year{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  border:1px solid rgba(104,200,212,.14);
  border-radius:9px;
}

.m07-review-year strong{
  color:var(--cyan);
  font-size:12px;
}

.m07-review-year small{
  margin-top:3px;
  color:var(--muted);
  font-size:8px;
}

.m07-review-body{
  padding:11px;
  border:1px solid rgba(126,171,155,.13);
  border-radius:9px;
  background:rgba(6,20,17,.48);
}

.m07-review-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
}

.m07-review-head h4{
  margin:0;
  font-size:12px;
}

.m07-review-head span{
  font-size:7px;
  text-transform:uppercase;
}

.m07-review-choice{
  display:block;
  margin-top:7px;
  color:#e0ece8;
  font-size:10px;
}

.m07-review-body>p{
  margin:5px 0 0;
  color:#b9c9c4;
  font-size:9px;
  line-height:1.4;
}

.m07-review-future{
  margin-top:7px;
  padding-top:7px;
  border-top:1px solid rgba(126,171,155,.09);
  color:var(--muted);
  font-size:8px;
  line-height:1.4;
}

.m07-circular-hierarchy{
  padding:14px;
  border:1px solid rgba(126,171,155,.14);
  border-radius:11px;
  background:rgba(6,20,17,.48);
  align-self:start;
}

.m07-circular-hierarchy h3{
  margin:6px 0 0;
  font-size:15px;
}

.m07-hierarchy-item{
  display:grid;
  grid-template-columns:28px 1fr;
  gap:9px;
  margin-top:10px;
  padding:9px;
  border:1px solid rgba(126,171,155,.1);
  border-radius:8px;
}

.m07-hierarchy-item>span{
  color:var(--green);
  font-size:9px;
}

.m07-hierarchy-item strong{
  display:block;
  font-size:9px;
}

.m07-hierarchy-item p{
  margin:4px 0 0;
  color:var(--muted);
  font-size:8px;
  line-height:1.35;
}

.m07-security-warning{
  margin-top:12px;
  padding:10px;
  border:1px solid rgba(227,155,155,.18);
  border-radius:9px;
  background:rgba(227,155,155,.035);
}

.m07-security-warning strong{
  color:#e39b9b;
  font-size:9px;
}

.m07-security-warning p{
  margin:5px 0 0;
  color:#c8bbbb;
  font-size:9px;
  line-height:1.4;
}

.m07-policy{
  margin-top:15px;
  padding:13px;
  border:1px solid rgba(118,230,170,.13);
  border-radius:10px;
  background:rgba(6,20,17,.44);
}

.m07-policy h3{
  margin:6px 0 0;
  font-size:15px;
}

.m07-policy-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin-top:10px;
}

.m07-policy-grid>div{
  padding:8px 9px;
  border:1px solid rgba(126,171,155,.09);
  border-radius:7px;
  color:#bdccc7;
  font-size:9px;
  line-height:1.4;
}

@media(max-width:900px){
  .m07-asset-profile,
  .m07-event-layout,
  .m07-review-layout{
    grid-template-columns:1fr;
  }
}

@media(max-width:720px){
  .m07-timeline-track{
    grid-template-columns:1fr;
    gap:7px;
  }

  .m07-timeline-track:before{
    display:none;
  }

  .m07-time-node{
    display:grid;
    grid-template-columns:20px 55px 1fr;
    text-align:left;
    align-items:center;
  }

  .m07-time-dot{
    margin:0;
  }

  .m07-policy-grid{
    grid-template-columns:1fr;
  }
}


.m07-mini-label{
  display:block;
  margin-top:2px;
  color:#d6e3df;
  font-size:8px;
  font-weight:600;
}

.m07-node-label{
  display:block;
  margin-top:3px;
  color:#d3dfdb;
  font-size:8px;
  font-weight:600;
}

/* M07 readability refinement */

.m07-time-node strong{
  font-size:13px;
}

.m07-node-label{
  margin-top:4px;
  font-size:11px;
}

.m07-time-node small{
  margin-top:3px;
  font-size:10px;
}

.m07-time-node em{
  margin-top:5px;
  font-size:9px;
  line-height:1.35;
}

.m07-event-index{
  font-size:11px;
}

.m07-situation>strong,
.m07-evidence>strong{
  font-size:10px;
}

.m07-situation p{
  font-size:13px;
  line-height:1.55;
}

.m07-evidence p{
  font-size:12px;
  line-height:1.5;
}

.m07-evidence>div span{
  font-size:10px;
}

.m07-choice{
  padding:13px 14px;
}

.m07-choice-head strong{
  font-size:13px;
  line-height:1.4;
}

.m07-choice-head span{
  font-size:9px;
}

.m07-consequence span,
.m07-future-effect span{
  font-size:9px;
}

.m07-consequence p,
.m07-future-effect p{
  font-size:12px;
  line-height:1.5;
}

.m07-history h3{
  font-size:17px;
}

.m07-history .workspace-intro{
  font-size:13px;
  line-height:1.6;
}

.m07-history-item>div:first-child strong{
  font-size:11px;
}

.m07-history-item>div:first-child span{
  font-size:10px;
}

.m07-history-item b{
  font-size:11px;
  line-height:1.4;
}

.m07-history-item small{
  font-size:9px;
}

.m07-current-outcome strong{
  font-size:12px;
}

.m07-current-outcome p{
  font-size:11px;
  line-height:1.5;
}


/* M07 Circularity Review readability refinement */

.m07-review-year strong{
  font-size:14px;
}

.m07-review-year small{
  font-size:10px;
}

.m07-review-head h4{
  font-size:14px;
  line-height:1.4;
}

.m07-review-head span{
  font-size:9px;
  line-height:1.35;
}

.m07-review-choice{
  margin-top:8px;
  font-size:12px;
  line-height:1.45;
}

.m07-review-body>p{
  margin-top:7px;
  font-size:11px;
  line-height:1.5;
}

.m07-review-future{
  margin-top:9px;
  padding-top:9px;
  font-size:10px;
  line-height:1.5;
}

.m07-circular-hierarchy h3{
  font-size:17px;
}

.m07-circular-hierarchy .eyebrow{
  font-size:10px;
}

.m07-hierarchy-item{
  grid-template-columns:32px 1fr;
  padding:10px;
}

.m07-hierarchy-item>span{
  font-size:11px;
}

.m07-hierarchy-item strong{
  font-size:12px;
  line-height:1.4;
}

.m07-hierarchy-item p{
  margin-top:5px;
  font-size:10px;
  line-height:1.5;
}

.m07-policy .eyebrow{
  font-size:10px;
}

.m07-policy h3{
  font-size:17px;
}

.m07-policy-grid>div{
  padding:10px 11px;
  font-size:11px;
  line-height:1.5;
}

.m07-policy + .m05-finops-warning strong{
  font-size:10px;
}

.m07-policy + .m05-finops-warning p{
  font-size:11px;
  line-height:1.5;
}

.m07-security-warning strong{
  font-size:11px;
}

.m07-security-warning p{
  font-size:11px;
  line-height:1.5;
}



/* FINAL Technical Sustainability Review
   Classroom readability is a design requirement:
   normal text >= 12-13px, secondary labels >= 10-11px.
*/

.capstone-shell .mission-header p,
.capstone-shell .workspace-intro{
  font-size:13px;
  line-height:1.6;
}

.capstone-shell .eyebrow,
.capstone-shell .cap-label{
  font-size:10px;
  line-height:1.35;
  letter-spacing:.08em;
}

.capstone-shell .counter{
  font-size:11px;
}

.capstone-shell .message-card blockquote{
  font-size:14px;
  line-height:1.55;
}

.capstone-shell .message-meta{
  font-size:11px;
}

.cap-constraint,
.cap-boundary,
.cap-principle{
  margin-top:16px;
  padding:14px 16px;
  border-radius:11px;
}

.cap-constraint{
  border:1px solid rgba(238,187,102,.22);
  background:rgba(238,187,102,.035);
}

.cap-boundary{
  border:1px solid rgba(104,200,212,.16);
  background:rgba(104,200,212,.03);
}

.cap-principle{
  border:1px solid rgba(118,230,170,.18);
  background:rgba(118,230,170,.035);
}

.cap-constraint p,
.cap-boundary p{
  margin:7px 0 0;
  color:#c5d2ce;
  font-size:13px;
  line-height:1.55;
}

.cap-principle strong{
  display:block;
  margin-top:7px;
  color:#e1ede9;
  font-size:14px;
  line-height:1.5;
}

.cap-question{
  margin-top:16px;
  font-size:15px;
  line-height:1.55;
}

.cap-proposal-model{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}

.cap-model-step{
  display:grid;
  grid-template-columns:32px 1fr;
  gap:9px;
  padding:12px;
  border:1px solid rgba(126,171,155,.14);
  border-radius:10px;
  background:rgba(5,20,16,.5);
}

.cap-model-step>span{
  color:var(--green);
  font-size:11px;
  font-weight:700;
}

.cap-model-step strong{
  display:block;
  font-size:13px;
}

.cap-model-step p{
  margin:5px 0 0;
  color:#b9c8c3;
  font-size:12px;
  line-height:1.45;
}

.cap-selection-layout{
  display:grid;
  grid-template-columns:minmax(290px,.72fr) minmax(0,1.7fr);
  gap:16px;
}

.cap-evidence-panel,
.cap-opportunity-panel,
.cap-proposal-context,
.cap-builder-main{
  border:1px solid rgba(126,171,155,.14);
  border-radius:12px;
  background:rgba(5,20,16,.5);
}

.cap-evidence-panel,
.cap-opportunity-panel{
  padding:14px;
}

.cap-panel-title h3{
  margin:5px 0 0;
  font-size:18px;
}

.cap-evidence-list{
  display:grid;
  gap:8px;
  margin-top:12px;
}

.cap-evidence-item{
  border:1px solid rgba(126,171,155,.12);
  border-radius:9px;
  background:rgba(3,14,11,.48);
}

.cap-evidence-item summary{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:9px;
  padding:11px;
  cursor:pointer;
  list-style:none;
}

.cap-evidence-item summary::-webkit-details-marker{
  display:none;
}

.cap-evidence-number{
  color:var(--green);
  font-size:12px;
  font-weight:700;
}

.cap-evidence-item summary strong{
  display:block;
  font-size:13px;
  line-height:1.4;
}

.cap-evidence-item summary small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:10px;
}

.cap-evidence-signals{
  padding:0 11px 11px;
}

.cap-evidence-signals p{
  display:flex;
  gap:7px;
  margin:7px 0 0;
  color:#bdcbc7;
  font-size:12px;
  line-height:1.45;
}

.cap-evidence-signals p span{
  color:var(--green);
}

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

.cap-opportunity{
  padding:13px;
  border:1px solid rgba(126,171,155,.14);
  border-radius:10px;
  background:rgba(3,14,11,.48);
  color:inherit;
  text-align:left;
  cursor:pointer;
}

.cap-opportunity:hover{
  border-color:rgba(118,230,170,.34);
}

.cap-opportunity.selected{
  border-color:rgba(118,230,170,.5);
  background:rgba(40,96,72,.18);
}

.cap-opportunity:disabled{
  opacity:.45;
  cursor:default;
}

.cap-opportunity-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

.cap-area{
  color:var(--cyan);
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.cap-selection-state{
  color:var(--green);
  font-size:10px;
  font-weight:700;
}

.cap-opportunity>strong{
  display:block;
  margin-top:8px;
  font-size:14px;
  line-height:1.4;
}

.cap-opportunity>p{
  margin:7px 0 0;
  color:#bccbc6;
  font-size:12px;
  line-height:1.5;
}

.cap-source-row{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:9px;
}

.cap-source-row span{
  padding:4px 7px;
  border:1px solid rgba(104,200,212,.18);
  border-radius:999px;
  color:#bfe5e8;
  font-size:10px;
  font-weight:700;
}

.cap-source-row.large span{
  font-size:11px;
}

.cap-selection-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:16px;
  padding:14px 16px;
  border:1px solid rgba(126,171,155,.13);
  border-radius:11px;
}

.cap-selection-footer strong{
  font-size:13px;
}

.cap-selection-footer p{
  margin:4px 0 0;
  color:#b9c8c3;
  font-size:12px;
}

.cap-proposal-tabs{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin-bottom:14px;
}

.cap-proposal-tab{
  min-height:84px;
  padding:10px;
  border:1px solid rgba(126,171,155,.13);
  border-radius:9px;
  background:rgba(3,14,11,.45);
  color:inherit;
  text-align:left;
  cursor:pointer;
}

.cap-proposal-tab.active{
  border-color:rgba(104,200,212,.46);
  background:rgba(104,200,212,.05);
}

.cap-proposal-tab.complete{
  box-shadow:inset 0 -2px 0 rgba(118,230,170,.55);
}

.cap-proposal-tab>span{
  color:var(--cyan);
  font-size:10px;
  font-weight:700;
}

.cap-proposal-tab strong{
  display:block;
  margin-top:5px;
  font-size:12px;
  line-height:1.35;
}

.cap-proposal-tab small{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:10px;
}

.cap-builder-layout{
  display:grid;
  grid-template-columns:minmax(300px,.78fr) minmax(0,1.5fr);
  gap:15px;
}

.cap-proposal-context{
  padding:16px;
  align-self:start;
}

.cap-proposal-context h2{
  margin:8px 0 0;
  font-size:22px;
  line-height:1.35;
}

.cap-context-section{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid rgba(126,171,155,.12);
}

.cap-context-section>p{
  margin:7px 0 0;
  color:#c5d2ce;
  font-size:13px;
  line-height:1.55;
}

.cap-evidence-line{
  display:flex;
  gap:8px;
  margin-top:8px;
}

.cap-evidence-line>span{
  color:var(--green);
  font-size:11px;
}

.cap-evidence-line p{
  margin:0;
  color:#c0ceca;
  font-size:12px;
  line-height:1.5;
}

.cap-builder-main{
  padding:15px;
}

.cap-builder-block + .cap-builder-block{
  margin-top:15px;
  padding-top:15px;
  border-top:1px solid rgba(126,171,155,.12);
}

.cap-builder-block-head p{
  margin:5px 0 0;
  color:#bac9c4;
  font-size:12px;
  line-height:1.45;
}

.cap-builder-options{
  display:grid;
  gap:8px;
  margin-top:10px;
}

.cap-builder-option{
  display:grid;
  grid-template-columns:20px 1fr;
  gap:10px;
  align-items:start;
  width:100%;
  padding:12px;
  border:1px solid rgba(126,171,155,.13);
  border-radius:9px;
  background:rgba(3,14,11,.46);
  color:inherit;
  text-align:left;
  cursor:pointer;
}

.cap-builder-option:hover{
  border-color:rgba(104,200,212,.3);
}

.cap-builder-option.selected{
  border-color:rgba(118,230,170,.46);
  background:rgba(40,96,72,.15);
}

.cap-radio{
  width:13px;
  height:13px;
  margin-top:2px;
  border:2px solid #536b63;
  border-radius:50%;
}

.cap-builder-option.selected .cap-radio{
  border-color:var(--green);
  box-shadow:inset 0 0 0 3px #07110e;
  background:var(--green);
}

.cap-builder-option strong{
  font-size:13px;
  line-height:1.45;
}

.cap-builder-navigation{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:16px;
}

.cap-committee-legend{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin-bottom:14px;
}

.cap-committee-legend>div{
  padding:11px;
  border:1px solid rgba(126,171,155,.12);
  border-radius:9px;
}

.cap-committee-legend p{
  margin:6px 0 0;
  color:#b9c8c3;
  font-size:11px;
  line-height:1.45;
}

.cap-assessment{
  display:inline-block;
  font-size:10px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.cap-assessment.defensible{
  color:var(--green);
}

.cap-assessment.conditional{
  color:var(--cyan);
}

.cap-assessment.more_evidence{
  color:var(--amber);
}

.cap-assessment.out_of_scope{
  color:#e39b9b;
}

.cap-committee-list{
  display:grid;
  gap:12px;
}

.cap-committee-card{
  padding:15px;
  border:1px solid rgba(126,171,155,.14);
  border-radius:11px;
  background:rgba(5,20,16,.48);
}

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

.cap-committee-head h3{
  margin:6px 0 0;
  font-size:16px;
}

.cap-committee-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin-top:12px;
}

.cap-committee-grid>div{
  padding:11px;
  border:1px solid rgba(126,171,155,.1);
  border-radius:8px;
}

.cap-check{
  display:block;
  margin-top:6px;
  font-size:16px;
}

.cap-check.ok{
  color:var(--green);
}

.cap-check.risk{
  color:var(--amber);
}

.cap-committee-grid p{
  margin:6px 0 0;
  color:#bdcbc7;
  font-size:12px;
  line-height:1.45;
}

.cap-committee-explanation{
  margin-top:11px;
  padding-top:10px;
  border-top:1px solid rgba(126,171,155,.1);
}

.cap-committee-explanation strong{
  font-size:12px;
}

.cap-committee-explanation p{
  margin:4px 0 0;
  color:#b9c8c3;
  font-size:12px;
  line-height:1.45;
}

.cap-final-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:15px;
}

.cap-final-summary>div{
  padding:13px;
  border:1px solid rgba(126,171,155,.13);
  border-radius:9px;
  text-align:center;
}

.cap-final-summary strong{
  display:block;
  color:var(--green);
  font-size:24px;
}

.cap-final-summary span{
  display:block;
  margin-top:4px;
  color:#c1cfcb;
  font-size:11px;
}

.cap-final-proposals{
  display:grid;
  gap:10px;
}

.cap-final-proposal{
  padding:14px;
  border:1px solid rgba(126,171,155,.14);
  border-radius:11px;
  background:rgba(5,20,16,.48);
}

.cap-final-proposal-head{
  display:flex;
  justify-content:space-between;
  gap:14px;
}

.cap-final-proposal-head h3{
  margin:6px 0 0;
  font-size:16px;
}

.cap-final-sequence{
  display:grid;
  grid-template-columns:1.35fr 1fr 1fr 1fr;
  gap:9px;
  margin-top:12px;
}

.cap-final-sequence>div{
  padding:10px;
  border:1px solid rgba(126,171,155,.09);
  border-radius:8px;
}

.cap-final-sequence p{
  margin:6px 0 0;
  color:#bdcbc7;
  font-size:12px;
  line-height:1.45;
}

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

.cap-final-panel{
  padding:14px;
  border:1px solid rgba(126,171,155,.13);
  border-radius:10px;
  background:rgba(5,20,16,.43);
}

.cap-final-panel h3{
  margin:6px 0 0;
  font-size:17px;
}

.cap-final-list-item{
  margin-top:10px;
  padding:10px;
  border:1px solid rgba(126,171,155,.09);
  border-radius:8px;
}

.cap-final-list-item strong{
  font-size:12px;
}

.cap-final-list-item p,
.cap-final-text,
.cap-empty{
  margin:5px 0 0;
  color:#becbc7;
  font-size:12px;
  line-height:1.5;
}

.cap-principle.final{
  margin-top:14px;
}

.cap-takeaways .takeaway{
  font-size:12px;
  line-height:1.45;
}

.cap-reflection label{
  font-size:13px;
}

.cap-reflection input{
  font-size:13px;
}

.cap-complete{
  padding-top:32px;
}

.cap-complete h2{
  margin:12px 0;
  font-size:34px;
}

.cap-complete>p{
  max-width:820px;
  font-size:15px;
  line-height:1.55;
}

.cap-complete-message{
  max-width:820px;
  margin-top:16px;
  padding:14px;
  border:1px solid rgba(118,230,170,.15);
  border-radius:10px;
  color:#c4d1cd;
  font-size:13px;
  line-height:1.55;
}

@media(max-width:1000px){
  .cap-proposal-model{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .cap-selection-layout,
  .cap-builder-layout{
    grid-template-columns:1fr;
  }

  .cap-committee-grid,
  .cap-final-sequence{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .cap-opportunity-grid,
  .cap-proposal-tabs,
  .cap-committee-legend,
  .cap-final-summary,
  .cap-final-columns{
    grid-template-columns:1fr;
  }

  .cap-proposal-model{
    grid-template-columns:1fr;
  }

  .cap-committee-grid,
  .cap-final-sequence{
    grid-template-columns:1fr;
  }

  .cap-selection-footer{
    align-items:stretch;
    flex-direction:column;
  }
}



.cap-final-list-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}

.cap-final-condition{
  display:block;
  margin-top:6px;
  color:#a9d7dc;
  font-size:11px;
  line-height:1.5;
}

.cap-final-warning{
  color:#e5c47f !important;
}

