/* INFOTECH 3.10Y — FixtureBuilder guided workflow UI */
.builder-guided-flow{
  position:sticky;
  top:10px;
  z-index:50;
  margin:14px 0 22px;
  border:1px solid rgba(0,245,255,.28);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(4,12,28,.88),rgba(24,10,42,.82));
  box-shadow:0 16px 40px rgba(0,0,0,.28),0 0 22px rgba(0,245,255,.08);
  backdrop-filter:blur(14px);
  padding:14px;
}
.builder-guided-flow .flow-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:12px;
}
.builder-guided-flow .flow-head strong{
  color:#fff;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.builder-guided-flow .flow-head span{
  color:var(--muted);
  font-size:.86rem;
}
.builder-step-list{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}
.builder-step{
  border:1px solid rgba(88,128,200,.34);
  border-radius:18px;
  padding:10px 10px;
  background:rgba(2,6,18,.58);
  color:#dfe9ff;
  text-align:left;
  cursor:pointer;
  min-height:74px;
  transition:.18s ease;
}
.builder-step b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border-radius:999px;
  margin-right:6px;
  background:rgba(0,245,255,.10);
  color:#00f5ff;
}
.builder-step strong{
  display:block;
  margin:7px 0 3px;
  color:#fff;
  font-size:.9rem;
}
.builder-step span{
  display:block;
  color:#aeb9d8;
  font-size:.75rem;
  line-height:1.25;
}
.builder-step.is-active{
  border-color:rgba(0,245,255,.85);
  background:linear-gradient(135deg,rgba(0,245,255,.18),rgba(255,0,212,.10));
  box-shadow:0 0 18px rgba(0,245,255,.14);
}
.builder-step.is-done b{
  background:rgba(57,255,136,.16);
  color:#39ff88;
}
.builder-step.is-locked{
  opacity:.62;
}
.builder-step-target{
  scroll-margin-top:130px;
}
.builder-action-rail{
  position:fixed;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  z-index:9990;
  width:min(720px,calc(100vw - 24px));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px;
  border:1px solid rgba(0,245,255,.28);
  border-radius:999px;
  background:linear-gradient(135deg,rgba(5,12,28,.94),rgba(23,10,42,.90));
  box-shadow:0 18px 48px rgba(0,0,0,.45),0 0 18px rgba(0,245,255,.10);
  backdrop-filter:blur(14px);
}
.builder-action-rail .rail-status{
  color:#dfe9ff;
  font-size:.82rem;
  padding-left:10px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.builder-action-rail .rail-actions{
  display:flex;
  gap:8px;
  flex:0 0 auto;
}
.builder-action-rail button{
  border:1px solid rgba(0,245,255,.36);
  border-radius:999px;
  padding:9px 12px;
  color:#f5fbff;
  background:rgba(0,245,255,.08);
  font-weight:850;
  cursor:pointer;
}
.builder-action-rail button.primary{
  background:linear-gradient(135deg,rgba(0,245,255,.22),rgba(255,0,212,.15));
  border-color:rgba(0,245,255,.72);
}
.input-panel,
.output-panel,
.review-panel,
.builder-export-panel{
  scroll-margin-top:150px;
}
.guided-helper-card{
  margin:12px 0 0;
  padding:12px 14px;
  border:1px solid rgba(255,209,102,.24);
  border-radius:16px;
  background:rgba(255,209,102,.06);
  color:#ffd166;
  font-size:.86rem;
  line-height:1.45;
}
.builder-output-split{
  display:grid!important;
  grid-template-columns:minmax(0,1fr);
  gap:14px;
}
@media(min-width:1100px){
  .builder-grid{
    grid-template-columns:minmax(320px,380px) minmax(0,1fr)!important;
    align-items:start!important;
  }
  .input-panel{
    position:sticky!important;
    top:168px!important;
    max-height:calc(100vh - 190px)!important;
    overflow:auto!important;
  }
}
@media(max-width:900px){
  .builder-guided-flow{
    position:relative;
    top:auto;
    padding:12px;
  }
  .builder-step-list{
    grid-template-columns:1fr;
  }
  .builder-step{
    min-height:auto;
    display:grid;
    grid-template-columns:auto 1fr;
    column-gap:8px;
    align-items:center;
  }
  .builder-step strong{margin:0}
  .builder-step span{grid-column:2}
  .builder-action-rail{
    bottom:8px;
    border-radius:20px;
    align-items:stretch;
  }
  .builder-action-rail .rail-status{
    display:none;
  }
  .builder-action-rail .rail-actions{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .builder-action-rail button{
    width:100%;
    padding:11px 10px;
  }
  .builder-main-content{
    padding-bottom:118px!important;
  }
}
@media(max-width:520px){
  .builder-action-rail .rail-actions{
    grid-template-columns:1fr;
  }
  .builder-action-rail button{
    min-height:42px;
  }
}
