
/* ==========================================================
   V40 STEP OPTIMIZER — non-blocking optimization UI
   ========================================================== */
.v40-progress{
  position:fixed;
  right:22px;
  top:92px;
  width:min(430px,calc(100vw - 44px));
  z-index:10000;
  border:1px solid rgba(0,224,164,.32);
  background:linear-gradient(145deg,rgba(9,26,38,.98),rgba(4,14,22,.98));
  border-radius:18px;
  box-shadow:0 24px 70px rgba(0,0,0,.45);
  padding:16px;
  color:#eef6ff;
  display:none;
}
.v40-progress.open{display:block}
.v40-progress h3{margin:0 0 6px;font-size:16px}
.v40-progress .sub{font-size:12px;color:#9fb5cc;margin-bottom:12px;line-height:1.4}
.v40-bar{
  height:10px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;
  border:1px solid rgba(164,191,224,.12);
}
.v40-fill{
  height:100%;width:0%;
  background:linear-gradient(90deg,#00e0a4,#00d7ff);
  transition:width .16s ease;
}
.v40-row{display:flex;justify-content:space-between;gap:10px;margin-top:10px;font-size:12px;color:#cfe2f4}
.v40-actions{display:flex;gap:8px;margin-top:12px;justify-content:flex-end}
.v40-actions button{min-height:36px!important;padding:8px 12px!important}
.v40-step-badge{
  display:inline-flex;align-items:center;gap:7px;
  padding:6px 10px;border-radius:999px;
  background:rgba(0,224,164,.08);
  border:1px solid rgba(0,224,164,.22);
  color:#dffef6;font-size:12px;font-weight:900;
}
.v40-step-badge:before{
  content:'';width:8px;height:8px;border-radius:50%;background:#00e0a4;box-shadow:0 0 16px #00e0a4;
}
