.cv-wrap{max-width:640px;margin:2rem auto;font-family:system-ui,-apple-system,sans-serif}
.cv-form label{display:block;font-weight:600;margin-bottom:.5rem;font-size:1.1rem}
.cv-row{display:flex;gap:.5rem}
.cv-row input{flex:1;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem}
.cv-row button{padding:.75rem 1.5rem;background:#111827;color:#fff;border:0;border-radius:8px;font-weight:600;cursor:pointer}
.cv-row button:hover{background:#1f2937}
.cv-hint{color:#6b7280;font-size:.85rem;margin-top:.5rem}
.cv-card{margin-top:1.5rem;padding:1.5rem;border:1px solid #e5e7eb;border-radius:12px;background:#fff;position:relative}
.cv-valid{border-color:#10b981;background:#f0fdf4}
.cv-invalid{border-color:#ef4444;background:#fef2f2}
.cv-badge{position:absolute;top:1rem;right:1rem;padding:.25rem .75rem;border-radius:999px;font-weight:600;font-size:.85rem}
.cv-valid .cv-badge{background:#10b981;color:#fff}
.cv-invalid .cv-badge{background:#ef4444;color:#fff}
.cv-card h3{margin:0 0 .25rem;font-size:1.5rem}
.cv-course{color:#374151;margin:0 0 1rem;font-size:1.05rem}
.cv-meta{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem;margin:0}
.cv-meta dt{font-weight:600;color:#6b7280}
.cv-meta dd{margin:0}
.cv-qr{margin-top:1rem;text-align:center}
.cv-list{list-style:none;padding:0;margin:.5rem 0 0}
.cv-list li{padding:.5rem 0;border-bottom:1px solid #e5e7eb}

.cv-org { display:flex; align-items:center; gap:8px; margin-bottom:8px; font-size:13px; color:#555; }
.cv-org img { border-radius:6px; object-fit:cover; background:#fff; }
.cv-holder { display:flex; align-items:center; gap:12px; margin:8px 0; }
.cv-avatar { border-radius:50%; object-fit:cover; border:2px solid #e5e7eb; }
