.respond-container { max-width: 700px; margin: 40px auto; padding: 0 20px; }
.respond-card { background: white; border-radius: 16px; padding: 40px; box-shadow: 0 4px 16px rgba(0,0,0,0.1); }
.respond-header { border-bottom: 2px solid #e2e8f0; padding-bottom: 20px; margin-bottom: 30px; text-align: center; }
.respond-header h1 { font-size: 1.8rem; color: #0f172a; margin-bottom: 10px; }
.vacancy-info { background: #f8fafc; padding: 16px; border-radius: 8px; margin-bottom: 10px; text-align: center; }
.vacancy-info-title { font-size: 1.2rem; font-weight: 700; color: #0f172a; margin-bottom: 4px; }
.vacancy-info-company { color: #64748b; }
.form-group { margin-bottom: 24px; }
.form-label { display: block; font-weight: 600; color: #334155; margin-bottom: 8px; }
.form-label.required::after { content: ' *'; color: #ef4444; }
.form-input, .form-textarea { width: 100%; padding: 12px 16px; border: 1.5px solid #e2e8f0; border-radius: 8px; font-size: 1rem; transition: all 0.3s; }
.form-input:focus, .form-textarea:focus { outline: none; border-color: #14b8a6; box-shadow: 0 0 0 3px rgba(20,184,166,0.1); }
.form-textarea { resize: vertical; min-height: 120px; }
.file-upload { border: 2px dashed #cbd5e1; border-radius: 8px; padding: 24px; text-align: center; cursor: pointer; transition: all 0.3s; position: relative; }
.file-upload:hover { border-color: #14b8a6; background: #f0fdfa; }
.file-upload input[type="file"] { position: absolute; opacity: 0; width: 100%; height: 100%; cursor: pointer; top: 0; left: 0; }
.file-upload-icon { font-size: 2.5rem; color: #14b8a6; margin-bottom: 8px; }
.file-upload-text { color: #64748b; font-size: 0.9rem; }
.btn { padding: 14px 32px; border-radius: 8px; font-weight: 600; font-size: 1rem; cursor: pointer; transition: all 0.3s; border: none; }
.btn-primary { background: #14b8a6; color: white; }
.btn-primary:hover { background: #0d9488; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(20,184,166,0.3); }
.alert { padding: 16px 20px; border-radius: 8px; margin-bottom: 20px; }
.alert-success { background: #d1fae5; border-left: 4px solid #10b981; color: #065f46; }
.alert-error { background: #fee2e2; border-left: 4px solid #ef4444; color: #991b1b; }
.success-icon { font-size: 3rem; color: #10b981; text-align: center; margin-bottom: 16px; }
.honeypot { position: absolute; left: -9999px; }
.respond-center { text-align: center; }
.respond-success-title { text-align: center; color: #10b981; margin-bottom: 12px; font-size: 1.5rem; }
.respond-success-text { text-align: center; color: #64748b; margin-bottom: 24px; }
.alert-list { margin: 8px 0 0 20px; }
