
.bottleneck-loop {
  margin: 1.5rem auto 4rem;
  max-width: 1180px;
  border-top: 5px solid var(--accent, #d85b18);
  border-bottom: 1px solid var(--line, #c9bda9);
  background: linear-gradient(105deg, rgba(216,91,24,.08), transparent 42%), var(--surface, #fbf8f1);
  padding: clamp(1.4rem,3vw,2.4rem);
  position: relative;
  overflow: hidden;
}
.bottleneck-loop::after { content:""; position:absolute; right:-3rem; top:-4rem; width:16rem; height:16rem; opacity:.07; background:url('/assets/brand/stripe-field-dark.svg') center/cover no-repeat; pointer-events:none; }
.bottleneck-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2rem; align-items:end; position:relative; z-index:1; }
.bottleneck-heading h2 { margin:.15rem 0 .5rem; max-width:760px; }
.bottleneck-heading p:last-child { max-width:780px; margin-bottom:0; }
.bottleneck-actions { display:flex; flex-wrap:wrap; gap:.65rem; justify-content:flex-end; }
.loop-steps { list-style:none; padding:0; margin:2rem 0 1rem; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border-top:1px solid var(--line,#c9bda9); border-bottom:1px solid var(--line,#c9bda9); position:relative; z-index:1; }
.loop-steps li { display:flex; align-items:center; gap:.7rem; padding:1rem .8rem; border-right:1px solid var(--line,#c9bda9); color:var(--muted,#687173); }
.loop-steps li:last-child { border-right:0; }
.loop-steps li > span { display:grid; place-items:center; width:2rem; height:2rem; border:1px solid currentColor; border-radius:50%; font-weight:800; }
.loop-steps strong,.loop-steps small { display:block; }
.loop-steps small { margin-top:.15rem; }
.loop-steps li.active { background:var(--forest,#063f39); color:#fffaf0; }
.loop-steps li.active > span { background:var(--orange,#d85b18); border-color:var(--orange,#d85b18); }
.loop-steps li.complete { color:var(--forest,#063f39); }
.loop-steps li.complete > span { background:var(--forest,#063f39); color:white; border-color:var(--forest,#063f39); }
.loop-current { display:grid; grid-template-columns:minmax(12rem,.35fr) 1fr; gap:1rem; align-items:start; padding:1rem 0 0; position:relative; z-index:1; }
.loop-current strong,.loop-current span { display:block; }
.loop-current.plan-created { animation:planPulse .8s ease; }
@keyframes planPulse { 50% { background:rgba(216,91,24,.12); } }
.next-step-panel { margin:1.5rem 0 2rem; padding:1.4rem; background:var(--ink,#152326); color:#fffaf0; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; border-left:6px solid var(--accent,#d85b18); }
.next-step-panel h2,.next-step-panel p { color:inherit; margin-top:.15rem; }
.next-step-panel .eyebrow { color:#ffc59f; }
.debrief-dialog { width:min(760px,calc(100vw - 2rem)); }
.dialog-intro { margin-top:0; max-width:65ch; }
.debrief-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.debrief-grid label { display:grid; gap:.35rem; font-weight:700; }
.debrief-grid label span { font-size:.8em; font-weight:400; color:var(--muted,#687173); }
.debrief-grid input,.debrief-grid select { width:100%; min-height:44px; padding:.7rem; border:1px solid var(--line,#c9bda9); background:#fffdf8; color:var(--ink,#152326); font:inherit; }
.debrief-issues { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem 1rem; margin:1.25rem 0; border:0; padding:0; }
.debrief-issues legend { width:100%; font-weight:800; margin-bottom:.7rem; }
.debrief-issues label { display:flex; align-items:flex-start; gap:.55rem; font-weight:500; }
.operation-profile { display:grid; gap:.75rem; margin-bottom:1.5rem; }
.operation-row { display:grid; grid-template-columns:minmax(12rem,1.2fr) auto minmax(7rem,1fr) auto; gap:.75rem; align-items:center; }
.operation-row i { height:.45rem; background:var(--line,#c9bda9); overflow:hidden; }
.operation-row i b { display:block; height:100%; background:var(--accent,#d85b18); }
.operation-row small { color:var(--muted,#687173); }
.progress-note { color:var(--muted,#687173); }
@media(max-width:760px){
  .bottleneck-heading,.loop-current { grid-template-columns:1fr; }
  .bottleneck-actions { justify-content:flex-start; }
  .loop-steps { grid-template-columns:1fr 1fr; }
  .loop-steps li:nth-child(2) { border-right:0; }
  .loop-steps li:nth-child(-n+2) { border-bottom:1px solid var(--line,#c9bda9); }
  .next-step-panel { align-items:flex-start; flex-direction:column; }
  .debrief-grid,.debrief-issues { grid-template-columns:1fr; }
  .operation-row { grid-template-columns:1fr auto; }
  .operation-row i { grid-column:1/-1; }
}
@media(prefers-reduced-motion:reduce){ .loop-current.plan-created { animation:none; } }
