:root{--wvp-primary:#006b4f;--wvp-accent:#d4af37;--wvp-label-pos:top;--wvp-button:modern}
/* Frontend form */
.wvp-form{max-width:900px;margin:1rem auto;padding:1rem;border:1px solid #e5e7eb;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.04)}
.wvp-category{margin:16px 0 8px;font-size:1.125rem;font-weight:700;color:var(--wvp-primary);border-bottom:2px solid var(--wvp-accent);padding-bottom:4px}
.wvp-textblock{color:#555;font-style:italic;margin:6px 0 10px}
.wvp-category-grid{display:grid;grid-gap:12px;grid-auto-flow:row dense}
.wvp-category-grid[data-cols="1"]{grid-template-columns:1fr}
.wvp-category-grid[data-cols="2"]{grid-template-columns:1fr 1fr}
.wvp-category-grid[data-cols="3"]{grid-template-columns:1fr 1fr 1fr}
.wvp-row-break{grid-column:1 / -1;height:0}
.wvp-form label{display:block;margin-bottom:6px;font-weight:600}
.wvp-form label.pos-left{display:grid;grid-template-columns:200px 1fr;align-items:center}

/* HIGH PRIORITY FIELDS (baseline) */
.wvp-form input,
.wvp-form textarea,
.wvp-form select{
  all: unset !important;
  display:block !important;
  width:100% !important;
  padding:.55rem .7rem !important;
  border:1px solid #d1d5db !important;
  border-radius:10px !important;
  background:#fff !important;
  color:#111 !important;
  font-size:1rem !important;
  font-family:inherit !important;
  margin-bottom:12px !important;
  box-sizing:border-box !important;
  transition: box-shadow .15s ease, border-color .15s ease !important;
}
.wvp-form textarea{ min-height: 120px !important; }
.wvp-form select{ appearance:auto !important; }
.wvp-form input:focus,
.wvp-form textarea:focus,
.wvp-form select:focus{
  border-color: var(--wvp-primary) !important;
  box-shadow: 0 0 0 3px rgba(0,0,0,0.02), 0 0 0 2px var(--wvp-primary) inset !important;
}

/* INLINE CONTROL WRAPPERS */
.wvp-inline{display:inline-flex;align-items:center;margin-right:14px;gap:8px}

/* Square CHECKBOX + RADIO custom */
.wvp-inline.wvp-checkbox input[type=checkbox],
.wvp-inline.wvp-radio input[type=radio]{
  all: unset !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  border:2px solid #9ca3af !important;
  border-radius:4px !important;
  background:#fff !important;
  display:inline-block !important;
  cursor:pointer !important;
  position:relative !important;
  margin:0 !important;
}
.wvp-inline.wvp-radio input[type=radio]{ border-radius:50% !important; }
.wvp-inline.wvp-checkbox input[type=checkbox]:focus,
.wvp-inline.wvp-radio input[type=radio]:focus{
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(0,0,0,0.02), 0 0 0 2px var(--wvp-primary) inset !important;
  border-color: var(--wvp-primary) !important;
}
.wvp-inline.wvp-checkbox input[type=checkbox]:checked{
  background: var(--wvp-primary) !important;
  border-color: var(--wvp-primary) !important;
}
.wvp-inline.wvp-radio input[type=radio]:checked{
  box-shadow: inset 0 0 0 4px var(--wvp-primary) !important;
  border-color: var(--wvp-primary) !important;
}

/* Submit button */
.wvp-submit{background:var(--wvp-primary);color:#fff;padding:.6rem 1rem;border-radius:10px;border:none;cursor:pointer;transition:.2s}
.wvp-submit:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.08)}
.wvp-success{color:#059669;margin-top:8px}
.wvp-error{color:#b91c1c;margin-top:8px}
.wvp-signature canvas{background:#fafafa;border:1px dashed #9ca3af;border-radius:10px;touch-action:none} /* Width should not be set for canvas in CSS */

/* Admin modern UI */
.wvp-admin-header{display:flex;align-items:center;gap:12px;margin:12px 0 16px}
.wvp-admin-logo{height:36px;width:auto;border-radius:6px;background:#fff;padding:4px;border:1px solid #e5e7eb;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.wvp-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px;box-shadow:0 8px 20px rgba(0,0,0,.04);margin-bottom:16px}
.wvp-card--grid{display:grid;grid-template-columns:2fr 1fr;gap:16px}
.wvp-card__section h3{margin-top:0}
.wvp-kv{display:grid;grid-template-columns:220px 1fr;gap:6px}
.wvp-cat{grid-column:1/-1;margin-top:12px;font-weight:700;border-bottom:1px solid #ddd;padding-bottom:4px}
.wvp-html{grid-column:1/-1;color:#555;font-style:italic}
.wvp-signs{display:flex;gap:12px}
.wvp-sign{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:10px;flex:1}
.wvp-sign canvas{touch-action:none}
.wvp-sign img{max-width:100%;border:1px solid #d1d5db;border-radius:6px;background:#fff}
.wvp-sign__title{font-weight:700;margin-bottom:6px}
.wvp-btn-primary{background:var(--wvp-primary)!important;color:#fff!important;border:none;border-radius:10px;padding:.5rem .9rem}
.wvp-btn-outline{background:#fff;border:1px solid var(--wvp-primary);color:var(--wvp-primary);border-radius:10px;padding:.5rem .9rem}
.wvp-tabs{display:flex;gap:8px;margin:12px 0}
.wvp-tab-link{padding:.5rem .8rem;border:1px solid #e5e7eb;border-radius:8px;background:#fff;text-decoration:none;color:#111}
.wvp-tab-link.active{border-color:var(--wvp-primary);color:var(--wvp-primary)}
.wvp-tab{display:none}
.wvp-tab.active{display:block}
.wvp-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.wvp-panel{border:1px dashed #e5e7eb;border-radius:12px;padding:12px;background:#fcfcfc}
.wvp-panel h3{margin-top:0}
.wvp-badge{display:inline-block;background:#eef2ff;border:1px solid #c7d2fe;color:#3730a3;border-radius:999px;padding:2px 8px;font-size:12px}
.wvp-badge--green{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}
.wvp-badge--amber{background:#fffbeb;border-color:#fde68a;color:#92400e}

/* Builder */
.wvp-builder{display:grid;grid-template-columns:220px 1fr 360px;gap:16px}
.wvp-left,.wvp-center,.wvp-right{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:12px}
.wvp-palette{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.wvp-item{border:1px dashed #9ca3af;padding:.5rem;border-radius:8px;text-align:center;background:#f9fafb;cursor:grab}
.wvp-cat-box{border:1px solid #e5e7eb;border-radius:10px;margin-bottom:10px}
.wvp-cat-head{padding:8px 10px;background:#f8fafc;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;cursor:grab}
.wvp-fields{padding:8px 10px;display:flex;flex-direction:column;gap:8px;min-height:20px}
.wvp-field-draggable{display:flex;gap:8px;justify-content:space-between;align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:8px}
.wvp-field-draggable .actions button,.wvp-cat-head .actions button{margin-left:6px}
.wvp-chip{border:1px solid #e5e7eb;background:#fff;border-radius:999px;padding:2px 8px;cursor:pointer}
.muted{color:#6b7280;font-size:12px}
.drag{cursor:grab;color:#9ca3af}