@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css');
:root {
  --brand: #00a86b;
  --brand-light: #24c28b;
  --gray: #f8fafc;
  --border: #e2e8f0;
  --text: #1e293b;
  --radius: 14px;
  --shadow: 0 8px 25px rgba(0,0,0,.05);
}
.cvf-wrap {
  max-width: 850px;
  margin: 60px auto;
  background: #fff;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 50px 60px;
  font-family: 'Inter', system-ui, sans-serif;
  color: var(--text);
}
.cvf-h { text-align:center; font-size:2.3rem; font-weight:800; color:var(--brand); margin-bottom:8px; }
.cvf-sub { text-align:center; font-size:1.1rem; color:#475569; margin-bottom:38px; }
.cvf-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-bottom:26px; }
.cvf-field { display:flex; flex-direction:column; gap:8px; position:relative; }
.cvf-field.icon label i { color:var(--brand); margin-right:6px; }
.cvf-field input, .cvf-field textarea {
  border:1px solid var(--border); border-radius:var(--radius);
  padding:13px 15px 13px 40px; font-size:15px; background:var(--gray);
  transition:all .25s ease;
}
.cvf-field.full input { width:100%; }
.cvf-field textarea { min-height:140px; resize:vertical; }
.cvf-field input:focus, .cvf-field textarea:focus {
  outline:none; border-color:var(--brand-light); background:#fff;
  box-shadow:0 0 0 4px rgba(0,168,107,.15);
}
.cvf-field.icon label { display:flex; align-items:center; font-weight:600; font-size:.95rem; color:#334155; gap:6px; margin-bottom:5px; }
.cvf-btn {
  display:inline-block; background:var(--brand); color:#fff; border:none;
  border-radius:var(--radius); padding:15px 34px; font-size:1.05rem;
  font-weight:700; cursor:pointer; transition:all .25s ease;
  box-shadow:0 4px 12px rgba(0,168,107,.25);
}
.cvf-btn:hover { background:var(--brand-light); transform:translateY(-1px); }
.cvf-submit-wrap { text-align:center; margin-top:40px; }
.cvf-alert { border-radius:var(--radius); padding:16px 20px; text-align:center; font-weight:600; margin-bottom:30px; animation:fadeIn .4s ease forwards; }
.cvf-alert.error { background:#fee2e2; border:1px solid #fecaca; color:#991b1b; }
.cvf-alert.success { background:#dcfce7; border:1px solid #bbf7d0; color:#166534; position:relative; }
.cvf-success-icon { display:flex; justify-content:center; margin-bottom:8px; }
.cvf-success-icon svg { width:48px; height:48px; stroke:#16a34a; stroke-width:2.5; fill:none; stroke-linecap:round; stroke-linejoin:round; animation:draw 1s ease forwards; }
.cvf-success-icon circle { stroke:#86efac; stroke-width:2.5; }
@keyframes draw { 0%{stroke-dasharray:0,100;} 100%{stroke-dasharray:100,0;} }
.cvf-chip-group { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:10px; }
.chip { border:1px solid var(--border); border-radius:20px; overflow:hidden; cursor:pointer; }
.chip span { display:inline-block; padding:8px 14px; font-size:.95rem; color:#334155; }
.chip input { display:none; }
.chip input:checked + span { background:var(--brand); color:#fff; }
.cvf-field.center { text-align:center; margin:30px 0; }
.section-label { font-weight:700; font-size:1.05rem; color:#0f172a; margin-bottom:12px; display:block; }
.no-data { color:#999; font-style:italic; }
@keyframes fadeIn { from{opacity:0;transform:translateY(-6px);} to{opacity:1;transform:none;} }
@media(max-width:720px){.cvf-wrap{padding:36px 26px;}.cvf-grid{grid-template-columns:1fr;}}
