.vxcm-wrap{max-width:980px;margin:24px auto;padding:26px;border:1px solid #e8e8e8;border-radius:22px;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.05)}
.vxcm-hero{margin-bottom:18px}.vxcm-hero h2{margin:8px 0 8px;font-size:32px;line-height:1.1}.vxcm-hero p{margin:0;color:#555}.vxcm-pill{display:inline-flex;padding:6px 12px;border-radius:999px;background:#2ecc40;color:#000;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.vxcm-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.vxcm-step{padding:12px;border-radius:14px;background:#f5f5f5;color:#555;font-weight:700;text-align:center}.vxcm-step span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:6px;border-radius:999px;background:#ddd;color:#000}.vxcm-step.is-active{background:#ffdc00;color:#000}.vxcm-step.is-done{background:#e8f9eb;color:#000}.vxcm-step.is-done span{background:#2ecc40}
.vxcm-form-head{margin:18px 0 14px}.vxcm-form-head h3{margin:0 0 4px}.vxcm-form-head p{margin:0;color:#666;font-size:14px}
.vxcm-row{display:grid;grid-template-columns:1fr 130px auto;gap:12px;margin-bottom:12px;align-items:center}.vxcm-row select,.vxcm-row input{padding:13px;border:1px solid #cfcfcf;border-radius:12px;width:100%;background:#fff}.vxcm-row select:focus,.vxcm-row input:focus{outline:2px solid #ffdc00;border-color:#000}.vxcm-invalid{border-color:#b00020!important;background:#fff3f3!important}
.vxcm-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.vxcm-wrap button{padding:12px 18px;border:0;border-radius:999px;cursor:pointer;font-weight:800}.vxcm-wrap button[type="submit"]{background:#000;color:#fff}.vxcm-wrap button:disabled{opacity:.45;cursor:not-allowed}#vxcm-add-row{background:#ffdc00;color:#000}.vxcm-remove-row{background:#f1f1f1;color:#333;font-size:12px}.vxcm-help{font-size:12px;color:#666;margin-top:10px}
.vxcm-loading,.vxcm-summary{padding:14px;border-radius:14px;background:#f5f5f5;margin:18px 0}.vxcm-results-head{margin-top:26px}.vxcm-summary{display:flex;gap:12px;flex-wrap:wrap}.vxcm-summary span{display:inline-flex;gap:6px;align-items:center;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid #e0e0e0}
.vxcm-card{position:relative;padding:18px;border:1px solid #ddd;border-radius:16px;margin:12px 0;background:#fafafa}.vxcm-card h4{margin:0 0 6px;font-size:20px}.vxcm-card-status{position:absolute;top:14px;right:14px;padding:5px 10px;border-radius:999px;background:#2ecc40;color:#000;font-size:12px;font-weight:800}.vxcm-almost{border-style:dashed;background:#fffdf2}.vxcm-almost .vxcm-card-status{background:#ffdc00}.vxcm-meta{font-weight:700}.vxcm-card small{display:block;color:#666;margin-top:4px}
.vxcm-score{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px;font-size:13px}.vxcm-score span,.vxcm-score strong,.vxcm-score em{padding:7px 10px;border-radius:999px;background:#fff;border:1px solid #e2e2e2;font-style:normal}.vxcm-score strong{background:#000;color:#fff}.vxcm-gaps{margin-top:12px;padding:10px;border-radius:10px;background:#fff3f3;font-size:13px}.vxcm-special{margin-top:12px;padding:10px;border-radius:10px;background:#f7f7f7;font-size:13px}.vxcm-special ul{margin:6px 0 0 20px}.vxcm-notes{margin-top:10px;font-size:13px;color:#555}.vxcm-error{padding:12px;border-radius:10px;background:#fff3f3;color:#8a0000}.vxcm-disclaimer{font-size:12px;color:#666;margin-top:20px}
@media(max-width:700px){.vxcm-wrap{padding:18px}.vxcm-hero h2{font-size:26px}.vxcm-progress{grid-template-columns:1fr}.vxcm-row{grid-template-columns:1fr}.vxcm-card-status{position:static;display:inline-flex;margin-bottom:8px}.vxcm-actions{display:grid}.vxcm-actions button{width:100%}}
.vxcm-career-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 22px}
.vxcm-career-card{padding:16px;border:1px solid #ddd;border-radius:16px;background:#fff}
.vxcm-career-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}
.vxcm-career-card h4{margin:0;font-size:18px;line-height:1.2}
.vxcm-career-card p{margin:8px 0;color:#555;font-size:14px}
.vxcm-demand{display:inline-flex;white-space:nowrap;padding:5px 9px;border-radius:999px;background:#2ecc40;color:#000;font-size:12px;font-weight:800}
.vxcm-career-skills{margin-top:10px;font-size:13px;color:#333}
.vxcm-career-foot{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.vxcm-career-foot span{padding:6px 9px;border-radius:999px;background:#f5f5f5;font-size:12px;font-weight:700}
@media(max-width:700px){.vxcm-career-grid{grid-template-columns:1fr}.vxcm-career-top{display:block}.vxcm-demand{margin-top:8px}}

.vxcm-bursary-box{margin-top:28px;padding:22px;border:1px solid #e5e7eb;border-radius:18px;background:#fffdf2}
.vxcm-bursary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:14px 0}
.vxcm-bursary-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:14px;box-shadow:0 6px 18px rgba(0,0,0,.05)}
.vxcm-bursary-card h4{margin:0 0 8px}
.vxcm-bursary-interest{margin-top:16px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px}
.vxcm-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin:10px 0 14px}
.vxcm-category-grid label,.vxcm-bursary-interest label{display:inline-flex;gap:7px;align-items:center;margin-right:12px;margin-bottom:8px}
.vxcm-bursary-fields{margin:12px 0}
.vxcm-bursary-fields select{min-width:220px;padding:8px;border:1px solid #d1d5db;border-radius:10px}
#vxcm-submit-bursary-interest{background:#111;color:#fff;border:0;border-radius:999px;padding:10px 16px;cursor:pointer;font-weight:700}
#vxcm-submit-bursary-interest:disabled{opacity:.6;cursor:wait}
.vxcm-success{color:#166534;font-weight:700}

.vxcm-application-box {
  margin-top: 28px;
  padding: 22px;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
}
.vxcm-application-form {
  display: grid;
  gap: 14px;
}
.vxcm-application-form label {
  display: grid;
  gap: 6px;
  font-weight: 700;
}
.vxcm-application-form select {
  width: 100%;
  padding: 12px;
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 10px;
  background: #fff;
}
#vxcm-save-application, .vxcm-remove-app {
  border: 0;
  border-radius: 999px;
  padding: 10px 16px;
  font-weight: 800;
  cursor: pointer;
}
#vxcm-save-application {
  background: #2ecc40;
  color: #000;
}
.vxcm-remove-app {
  margin-left: 8px;
  background: #ffdc00;
  color: #000;
  padding: 6px 10px;
  font-size: 12px;
}
.vxcm-local-tracker {
  background: rgba(46,204,64,.08);
  border-radius: 14px;
  padding: 14px;
}
.vxcm-local-tracker ul {
  margin: 0;
  padding-left: 20px;
}
.vxcm-local-tracker li {
  margin: 0 0 10px;
}
