.vb-wrapper{border:1px solid #e5e7eb;border-radius:16px;padding:16px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.vb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:12px 0}
.vb-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}
.vb-btn{padding:10px 16px;border-radius:12px;border:1px solid #111827;background:#111827;color:#fff;cursor:pointer}
.vb-btn.vb-secondary{background:#fff;color:#111827}
.vb-step h3{margin:0 0 8px 0}
.vb-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin-top:12px}
.vb-slot{padding:8px;border:1px solid #e5e7eb;border-radius:10px;background:#f9fafb;cursor:pointer}
.vb-slot.active{outline:2px solid #111827;background:#eef2ff}
label{display:flex;flex-direction:column;font-size:14px;gap:6px}
select,input{padding:8px;border:1px solid #e5e7eb;border-radius:10px}
pre{white-space:pre-wrap;background:#0b1020;color:#e5e7eb;padding:12px;border-radius:10px;overflow:auto}

.vb-alert{border:1px solid #f59e0b;background:#fffbeb;color:#92400e;border-radius:12px;padding:10px 12px;margin:8px 0}
.vb-diagnostics{margin-top:16px;border:1px dashed #cbd5e1;border-radius:12px;padding:12px;background:#f8fafc}
.vb-diagnostics h4{margin:0 0 8px 0}
.vb-diagnostics pre{max-height:360px}

#vb-fallback select{padding:8px;border:1px solid #e5e7eb;border-radius:10px}

.vb-hints{font-size:13px;color:#374151;margin:4px 0 0 0}

#vb-hq,#vb-service,#vb-resource{opacity:1!important;visibility:visible!important;display:block!important}
