* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial;
  background: #0b0f19;
  color: #e8eefc;
}
.wrap {
  max-width: 860px;
  margin: 0 auto;
  padding: 18px;
}
h1 { margin: 0 0 12px; font-size: 20px; }

.steps{
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  border-radius: 14px;
  padding: 12px 14px;
  margin-bottom: 12px;
  color: rgba(255,255,255,.85);
  line-height: 1.35;
}
.steps div{ margin: 6px 0; }

.card{
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  padding: 14px;
  background: rgba(255,255,255,.04);
}

.row{
  display:flex;
  gap:10px;
  margin: 10px 0;
  flex-wrap: wrap;
  align-items:center;
}

input, select, button{
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.25);
  color: #e8eefc;
  outline: none;
}

input{ flex: 1; min-width: 240px; }
select{ min-width: 260px; }

button{
  cursor: pointer;
  background: rgba(255,255,255,.06);
}
button:hover{ background: rgba(255,255,255,.10); }
button:disabled{ opacity: .55; cursor: not-allowed; }

.primary { border-color: rgba(90,150,255,.6); }
.danger { border-color: rgba(255,80,110,.6); }

.status{
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.22);
  color: rgba(255,255,255,.8);
}

.log{
  margin: 10px 0 0;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.22);
  min-height: 90px;
  white-space: pre-wrap;
}

.meter{
  flex: 1;
  min-width: 160px;
  height: 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.35);
  overflow:hidden;
}
.vu{
  height:100%;
  width:0%;
  background: linear-gradient(90deg, #22c55e, #f59e0b, #ff3b5c);
}
