/* ==================== CAPA — CLOSED-LOOP QUALITY ORCHESTRATION ==================== */
.capa-subnav { display:flex; gap:6px; flex-wrap:wrap; margin:0 0 var(--sp-4); border-bottom:1px solid var(--c-line); padding-bottom:var(--sp-2); }
.capa-subtab { display:inline-flex; align-items:center; gap:6px; background:transparent; border:1px solid transparent; color:var(--c-text-dim); font-size:var(--fs-xs); padding:6px 12px; border-radius:var(--r-pill); cursor:pointer; transition:all .15s; }
.capa-subtab:hover { color:var(--c-text); background:var(--c-surface-2); }
.capa-subtab.on { color:var(--c-accent); background:var(--c-accent-dim, rgba(20,184,166,.12)); border-color:var(--c-accent); font-weight:600; }
.capa-subtab span[aria-hidden] svg { width:14px; height:14px; }

.capa-filter { background:var(--c-surface-2); border:1px solid var(--c-line); border-radius:var(--r-sm); padding:5px 8px; color:var(--c-text); font-size:var(--fs-2xs); }

.capa-row { cursor:pointer; transition:background .12s; }
.capa-row:hover { background:var(--c-surface-2); }

.capa-brief { display:flex; align-items:flex-start; gap:8px; padding:7px 0; border-bottom:1px solid var(--c-line); font-size:var(--fs-xs); cursor:default; }
.capa-brief:last-child { border-bottom:none; }
.capa-brief-sev { font-weight:800; font-size:9px; min-width:40px; letter-spacing:.03em; }
.capa-brief-sev.risk { color:var(--c-coral); }
.capa-brief-sev.warn { color:var(--c-amber); }
.capa-brief-sev.info { color:var(--c-text-dim); }

.capa-loop { display:flex; align-items:center; flex-wrap:wrap; gap:4px; margin-top:var(--sp-2); }
.capa-loop-step { display:flex; align-items:center; gap:7px; background:var(--c-surface-2); border:1px solid var(--c-line); border-radius:var(--r-pill); padding:6px 12px; font-size:var(--fs-2xs); font-weight:600; }
.capa-loop-dot { display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; border-radius:50%; background:var(--c-accent); color:#fff; font-size:10px; font-weight:800; }
.capa-loop-arrow { color:var(--c-text-faint); font-weight:700; }

.capa-intake-row, .capa-action-row, .capa-rec-row { display:flex; align-items:center; gap:10px; padding:8px 0; border-bottom:1px solid var(--c-line); }
.capa-intake-row:last-child, .capa-action-row:last-child, .capa-rec-row:last-child { border-bottom:none; }

/* wizard + ai blocks */
.capa-wiz-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:var(--sp-2) var(--sp-3); }
.capa-ai-block { background:var(--c-surface-2); border:1px solid var(--c-line); border-radius:var(--r-md); padding:10px 12px; margin-bottom:10px; }
.capa-ai-block b { font-size:var(--fs-xs); display:inline-flex; align-items:center; gap:6px; }
.capa-ai-block p { margin:5px 0 0; font-size:var(--fs-2xs); }
.capa-ai-out { min-height:80px; }
.capa-sim { font-size:var(--fs-2xs); padding:5px 0; cursor:pointer; }
.capa-sim:hover { color:var(--c-accent); }
.capa-check { display:flex; align-items:flex-start; gap:8px; padding:5px 0; font-size:var(--fs-xs); cursor:pointer; }
.capa-check input { margin-top:2px; }

/* workspace */
.capa-ws-progress { display:flex; align-items:center; flex-wrap:wrap; gap:4px; margin:0 0 var(--sp-3); padding:8px 0; }
.capa-stage { font-size:9px; padding:4px 9px; border-radius:var(--r-pill); background:var(--c-surface-2); color:var(--c-text-faint); border:1px solid var(--c-line); white-space:nowrap; }
.capa-stage.done { color:var(--c-green); border-color:var(--c-green-dim, rgba(34,197,94,.3)); }
.capa-stage.on { background:var(--c-accent); color:#fff; border-color:var(--c-accent); font-weight:700; }
.capa-stage-sep { color:var(--c-text-faint); font-size:10px; }
.capa-ws-tabs { display:flex; gap:4px; flex-wrap:wrap; margin-bottom:var(--sp-4); border-bottom:1px solid var(--c-line); }
.capa-ws-tab { display:inline-flex; align-items:center; gap:5px; background:transparent; border:none; border-bottom:2px solid transparent; color:var(--c-text-dim); font-size:var(--fs-xs); padding:8px 12px; cursor:pointer; }
.capa-ws-tab:hover { color:var(--c-text); }
.capa-ws-tab.on { color:var(--c-accent); border-bottom-color:var(--c-accent); font-weight:600; }
.capa-ws-tab span[aria-hidden] svg { width:14px; height:14px; }

.capa-kv-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:8px 14px; }
.capa-kv-grid > div { display:flex; flex-direction:column; }
.capa-k { font-size:9px; text-transform:uppercase; letter-spacing:.04em; color:var(--c-text-faint); }
.capa-kv-grid > div > span:last-child { font-size:var(--fs-xs); }
.capa-group-label { font-size:9px; text-transform:uppercase; letter-spacing:.05em; color:var(--c-accent); font-weight:700; margin-bottom:6px; }

/* RCA */
.capa-why-row { display:flex; align-items:center; gap:8px; margin-bottom:7px; }
.capa-why-n { font-size:9px; font-weight:700; color:var(--c-accent); min-width:44px; }
.capa-why { flex:1; }
.capa-fishbone { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--sp-2); }
.capa-fish-cat { border:1px solid var(--c-line); border-radius:var(--r-md); overflow:hidden; }
.capa-fish-head { background:var(--c-surface-2); padding:6px 10px; font-size:var(--fs-2xs); font-weight:700; }
.capa-fish { width:100%; border:none; background:transparent; padding:8px 10px; color:var(--c-text); font-size:var(--fs-2xs); resize:vertical; }

/* risk */
.capa-rpn { display:flex; align-items:center; justify-content:center; gap:16px; margin-top:var(--sp-3); }
.capa-rpn > div { display:flex; flex-direction:column; align-items:center; }
.capa-rpn-l { font-size:9px; text-transform:uppercase; color:var(--c-text-faint); }
.capa-rpn-v { font-size:var(--fs-2xl,32px); font-weight:800; line-height:1; }
.capa-rpn-arrow { font-size:20px; color:var(--c-text-faint); }

/* effectiveness */
.capa-eff-row { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.capa-eff-text { flex:1; }
.capa-eff-btns { display:flex; gap:4px; }
.capa-eff-b { font-size:9px; padding:4px 10px; border-radius:var(--r-pill); border:1px solid var(--c-line); background:var(--c-surface-2); color:var(--c-text-dim); cursor:pointer; }
.capa-eff-b.yes { background:var(--c-green); color:#fff; border-color:var(--c-green); }
.capa-eff-b.no { background:var(--c-coral); color:#fff; border-color:var(--c-coral); }

/* timeline */
.capa-timeline { position:relative; }
.capa-tl-row { display:flex; gap:10px; padding:8px 0; border-bottom:1px solid var(--c-line); }
.capa-tl-row:last-child { border-bottom:none; }
.capa-tl-icon { display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; background:var(--c-surface-2); border:1px solid var(--c-line); flex-shrink:0; }
.capa-tl-icon span[aria-hidden] svg { width:14px; height:14px; color:var(--c-accent); }
.capa-comment { padding:7px 0; border-bottom:1px solid var(--c-line); }
.capa-comment:last-child { border-bottom:none; }
.capa-comment b { font-size:var(--fs-2xs); }

/* admin */
.capa-admin-tabs { display:flex; gap:4px; flex-wrap:wrap; margin-bottom:var(--sp-3); }
.capa-admin-tab { background:var(--c-surface-2); border:1px solid var(--c-line); color:var(--c-text-dim); font-size:var(--fs-2xs); padding:6px 12px; border-radius:var(--r-sm); cursor:pointer; }
.capa-admin-tab.on { background:var(--c-accent); color:#fff; border-color:var(--c-accent); font-weight:600; }
