.hv-form { max-width: 780px; margin: 1rem auto; padding: 1rem; border: 1px solid #e5e7eb; border-radius: 12px; background:#fff; }
.hv-row { margin-bottom: 14px; display:block; }
.hv-row label { display:block; font-weight:600; margin-bottom:6px; }
.hv-row input[type="text"], .hv-row input[type="email"], .hv-row input[type="url"], .hv-row input[type="number"], .hv-row select { width:100%; padding:8px 10px; border:1px solid #d1d5db; border-radius:8px; }
.hv-actions { display:flex; align-items:center; gap:10px; margin-top: 10px; }
.hv-btn { background:#660505; color:#fff; border:none; border-radius:8px; padding:10px 16px; cursor:pointer; }
.hv-status { font-size: 0.95rem; color:#111827; }
.hv-notice { background:#fffbe6; border:1px solid #f5d04e; padding:10px 12px; border-radius:8px; }
.hv-vendors-wrap { display:block; }
.hv-controls { display:flex; flex-wrap:wrap; gap:10px; align-items:center; padding:10px; border:1px solid #e5e7eb; border-radius:12px; margin-bottom:12px; background:#fff; }
.hv-controls label { font-weight:600; display:flex; gap:6px; align-items:center; }
.hv-controls select { padding:6px 8px; border:1px solid #d1d5db; border-radius:8px; }
.hv-controls .hv-btn-small { padding:6px 10px; font-size:.9rem; background:#660505; color:#fff; border:none; border-radius:8px; cursor:pointer; }
.hv-vendor-list { display:grid; grid-template-columns: repeat(auto-fill, minmax(280px,1fr)); gap:16px; }
.hv-vendor-card { border:1px solid #e5e7eb; border-radius:12px; padding:14px; background:#fff; box-shadow: 0 1px 1px rgba(0,0,0,.02); }
.hv-vendor-header { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px; }
.hv-vendor-title { font-weight:700; font-size:1.05rem; }
.hv-btn-link { text-decoration:none; border:1px solid #660505; padding:6px 10px; border-radius:8px; font-size:.9rem; background:#660505; color:#fff; }
.hv-vendor-info { list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.hv-vendor-info li strong { font-weight:600; margin-right:6px; }
.hv-empty { color:#6b7280; font-style:italic; }

.hv-btn:hover { background:#d4ab0b; color:#000; }

.hv-btn-link:hover { background:#d4ab0b; color:#000; border-color:#d4ab0b; }

.hv-controls .hv-btn-small:hover { background:#d4ab0b; color:#000; }

.hv-card { border:1px solid #e5e7eb; border-radius:12px; padding:14px; background:#fff; }

.hv-heading { font-weight:700; font-size:1.1rem; margin-bottom:10px; }

.hv-muted { color:#6b7280; }

.hv-notify { margin-top:16px; }
.hv-notify .hv-input { width:100%; padding:8px 10px; border:1px solid #d1d5db; border-radius:8px; }
.hv-notify .hv-status { color:#065f46; font-weight:600; }

.hv-notify-status { min-height: 1.2em; }
