/* ==========================================================================
   workflow-candidate-grid — NEW LIBRARY TEMPLATE CANDIDATE
   Diagnostic index: signal strip + selectable workflow index + pattern panel.
   Root padding follows --section-padding-y. H2 uses the global section standard.
   ========================================================================== */
.workflow-candidate-grid{scroll-margin-top:var(--hdr-h);padding-block:var(--section-padding-y);border-top:1px solid var(--rule);background:var(--paper);color:var(--ink)}
.workflow-candidate-grid__in{width:var(--shell);margin:0 auto}
.workflow-candidate-grid__head{display:flex;flex-direction:column;gap:22px;margin-bottom:48px}
.workflow-candidate-grid__head > *{width:var(--title-description-width);max-width:100%}
.workflow-candidate-grid__kicker{color:var(--bronze);margin-bottom:18px}
.workflow-candidate-grid__title{color:var(--deep)}
.workflow-candidate-grid__support{color:var(--grey-mid)}

.workflow-candidate-grid__signals{display:grid;grid-template-columns:auto repeat(4,minmax(0,1fr));border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-bottom:40px}
.workflow-candidate-grid__signals-label{display:flex;align-items:center;padding:18px 28px 18px 0;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--deep)}
.workflow-candidate-grid__signal{display:flex;align-items:center;gap:12px;padding:18px 20px;border-left:1px solid var(--rule);font-family:var(--display);font-size:20px;line-height:1.15;color:var(--ink)}
.workflow-candidate-grid__signal::before{content:"";flex:0 0 auto;width:8px;height:8px;background:var(--gold);transform:rotate(45deg)}

.workflow-candidate-grid__stage{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:0;align-items:stretch;border:1px solid var(--rule)}
.workflow-candidate-grid__index{display:flex;flex-direction:column}
.workflow-candidate-grid__item{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) 20px;gap:2px 14px;align-items:baseline;width:100%;padding:18px 24px 18px 22px;text-align:left;border-bottom:1px solid var(--rule);background:var(--paper);transition:background .25s var(--ease)}
.workflow-candidate-grid__item:last-child{border-bottom:0}
.workflow-candidate-grid__item::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--deep);transform:scaleY(0);transform-origin:top;transition:transform .3s var(--ease)}
.workflow-candidate-grid__item:hover{background:var(--gold-10)}
.workflow-candidate-grid__item.is-active{background:var(--gold-10)}
.workflow-candidate-grid__item.is-active::before{transform:scaleY(1)}
.workflow-candidate-grid__num{grid-row:span 2;font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--bronze)}
.workflow-candidate-grid__name{font-family:var(--display);font-size:22px;font-weight:400;line-height:1.15;color:var(--ink)}
.workflow-candidate-grid__item.is-active .workflow-candidate-grid__name{color:var(--deep)}
.workflow-candidate-grid__line{grid-column:2;font-size:var(--fs-small);line-height:1.45;color:var(--grey-mid)}
.workflow-candidate-grid__chev{grid-row:1;grid-column:3;justify-self:end;color:var(--deep);opacity:0;transform:translateX(-6px);transition:opacity .25s var(--ease),transform .25s var(--ease)}
.workflow-candidate-grid__item.is-active .workflow-candidate-grid__chev,.workflow-candidate-grid__item:hover .workflow-candidate-grid__chev{opacity:1;transform:none}

.workflow-candidate-grid__panel{position:relative;display:flex;flex-direction:column;gap:28px;padding:clamp(28px,3.6vw,48px);background:var(--sage);color:var(--paper);--panel-gold:#F3CD29}
.workflow-candidate-grid__panel::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--gold)}
.workflow-candidate-grid__panel-meta{display:flex;justify-content:space-between;gap:16px;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-sage)}
.workflow-candidate-grid__panel-title{font-family:var(--display);font-size:clamp(30px,3vw,40px);font-weight:400;line-height:1.1;color:var(--paper)}
.workflow-candidate-grid__panel-line{margin-top:12px;font-size:var(--fs-standard-lede);line-height:1.45;color:var(--panel-gold)}
.workflow-candidate-grid__flow{position:relative;display:flex;flex-direction:column}
.workflow-candidate-grid__flow::before{content:"";position:absolute;left:5px;top:10px;bottom:10px;width:1px;background:var(--on-sage-line)}
.workflow-candidate-grid__step{position:relative;display:grid;grid-template-columns:132px minmax(0,1fr);gap:6px 20px;padding:14px 0 14px 30px;border-top:1px solid rgba(255,255,255,.12)}
.workflow-candidate-grid__step:first-child{border-top:0}
.workflow-candidate-grid__step::before{content:"";position:absolute;left:1px;top:19px;width:9px;height:9px;background:var(--sage);border:1px solid rgba(255,255,255,.7)}
.workflow-candidate-grid__step--control{margin:4px 0;padding-right:16px;background:rgba(24,24,24,.14);border-top-color:transparent}
.workflow-candidate-grid__step--control::before{background:var(--panel-gold);border-color:var(--panel-gold);transform:rotate(45deg)}
.workflow-candidate-grid__step-label{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;line-height:1.5;color:var(--panel-gold)}
.workflow-candidate-grid__step-text{font-size:var(--fs-body);line-height:1.5;color:var(--paper)}
.workflow-candidate-grid__proposed{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border:1px dashed var(--panel-gold);font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--panel-gold)}

@media (max-width:1040px){
  .workflow-candidate-grid__signals{grid-template-columns:repeat(2,minmax(0,1fr))}
  .workflow-candidate-grid__signals-label{grid-column:1 / -1;padding-bottom:6px}
  .workflow-candidate-grid__signal{border-left:0;border-top:1px solid var(--rule);padding-left:0}
}
@media (max-width:900px){
  .workflow-candidate-grid__head > *{width:100%}
  .workflow-candidate-grid__stage{grid-template-columns:1fr}
}
@media (max-width:600px){
  .workflow-candidate-grid__signals{grid-template-columns:1fr}
  .workflow-candidate-grid__step{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .workflow-candidate-grid__item,.workflow-candidate-grid__item::before,.workflow-candidate-grid__chev{transition:none}
}
