/* Vibe integration page */
.parts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.part{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-panel);padding:18px;display:flex;flex-direction:column;gap:6px}
.part .job{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.part b{font-size:16px}
.part p{font-size:14px;color:var(--text-muted)}
table.cmp.seams{min-width:720px}
table.cmp.seams td:first-child{font-weight:600;white-space:nowrap}
table.cmp.vstatus{min-width:0}
table.cmp.vstatus td:last-child{text-align:right;white-space:nowrap}

.runbook{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-panel);overflow:hidden}
.rb-steps{list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-bottom:1px solid var(--border)}
.rb-steps li + li{border-left:1px solid var(--border)}
.rb-steps button{width:100%;border:0;background:transparent;padding:14px 10px;font-size:13.5px;font-weight:600;color:var(--text-muted);display:flex;gap:8px;align-items:center;justify-content:center;white-space:nowrap}
.rb-steps button span{width:22px;height:22px;border-radius:50%;border:1px solid var(--border);display:grid;place-items:center;font-size:12px;flex:none}
.rb-steps button.done span{background:var(--accent-soft);color:var(--accent);border-color:transparent}
.rb-steps button[aria-selected="true"]{color:var(--text);background:var(--bg-card);box-shadow:inset 0 -2px 0 var(--accent)}
.rb-steps button[aria-selected="true"] span{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.rb-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:22px;padding:24px}
.rb-kind{font-family:var(--mono);font-size:12px;color:var(--accent);margin-bottom:8px}
.rb-text p{color:var(--text-muted);font-size:15px;margin-top:8px}
.rb-gate{margin-top:14px;border-left:3px solid var(--warning);background:var(--warning-soft);padding:10px 12px;border-radius:6px;font-size:14px;color:var(--text)}
.rb-text .btns{margin-top:18px}
.rb-text .btn:disabled{opacity:.45;cursor:not-allowed}
.rb-term{margin:0;background:#0d1117;color:#c9d1d9;border:1px solid var(--border);border-radius:var(--r);padding:16px 18px;font-family:var(--mono);font-size:13px;line-height:1.6;min-height:230px;overflow:auto;white-space:pre}

@media (max-width:1020px){
  .parts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rb-body{grid-template-columns:1fr}
  .rb-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rb-steps li:nth-child(4){border-left:0}
  .rb-steps li:nth-child(n+4){border-top:1px solid var(--border)}
}
@media (max-width:640px){
  .parts{grid-template-columns:1fr}
  .rb-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rb-steps li:nth-child(4){border-left:1px solid var(--border)}
  .rb-steps li:nth-child(odd){border-left:0}
  .rb-steps li:nth-child(n+3){border-top:1px solid var(--border)}
  .rb-body{padding:16px}
}
