.apply-modal__overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:applyModalFadeIn .2s ease}@keyframes applyModalFadeIn{0%{opacity:0}to{opacity:1}}.apply-modal{background:white;border-radius:16px;max-width:560px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.15);animation:applyModalSlideUp .25s ease}@keyframes applyModalSlideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.apply-modal__header{padding:30px 30px 0;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.apply-modal__header h2{margin:0;font-size:1.5rem;color:#0f172a;font-weight:700;line-height:1.3}.apply-modal__close{background:none;border:none;font-size:1.5rem;color:#94a3b8;cursor:pointer;padding:4px 8px;line-height:1;border-radius:6px;transition:all .2s;flex-shrink:0}.apply-modal__close:hover{background:#f1f5f9;color:#475569}.apply-modal__position-info{margin:16px 30px 0;padding:14px 18px;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0;display:flex;gap:16px;font-size:.9rem;color:#475569}.apply-modal__position-info span{display:flex;align-items:center;gap:4px}.apply-modal__form{padding:24px 30px 30px;display:flex;flex-direction:column;gap:18px}.apply-modal__field{display:flex;flex-direction:column;gap:6px}.apply-modal__field label{font-weight:600;font-size:.9rem;color:#334155}.apply-modal__field label .required{color:#ef4444;margin-left:2px}.apply-modal__field input[type=email],.apply-modal__field input[type=tel],.apply-modal__field input[type=text],.apply-modal__field select,.apply-modal__field textarea{padding:12px 16px;border:1px solid #d1d5db;border-radius:10px;font-size:.95rem;font-family:inherit;transition:border-color .2s,box-shadow .2s;color:#0f172a;background:white}.apply-modal__field input:focus,.apply-modal__field select:focus,.apply-modal__field textarea:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 3px rgba(43,187,240,.15)}.apply-modal__field select:disabled{background:#f8fafc;color:#475569;cursor:default;opacity:1}.apply-modal__field textarea{resize:vertical;min-height:80px}.apply-modal__file-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;border:2px dashed #d1d5db;border-radius:10px;cursor:pointer;transition:border-color .2s,background .2s;text-align:center;gap:6px}.apply-modal__file-wrapper:hover{border-color:var(--primary-blue);background:rgba(43,187,240,.03)}.apply-modal__file-wrapper input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.apply-modal__file-icon{font-size:1.5rem}.apply-modal__file-text{font-size:.85rem;color:#64748b}.apply-modal__file-text strong{color:var(--primary-blue)}.apply-modal__file-name{font-size:.85rem;color:#059669;font-weight:600;margin-top:4px}.apply-modal__file-hint{font-size:.78rem;color:#94a3b8}.apply-modal__consent{display:flex;align-items:flex-start;gap:10px;font-size:.85rem;color:#475569;line-height:1.5}.apply-modal__consent input[type=checkbox]{margin-top:3px;flex-shrink:0;accent-color:var(--primary-blue);width:16px;height:16px}.apply-modal__success{text-align:center;padding:40px 30px}.apply-modal__success-icon{font-size:3rem;margin-bottom:16px}.apply-modal__success h3{margin:0 0 8px;font-size:1.3rem;color:#0f172a}.apply-modal__success p{color:#64748b;margin:0}.apply-modal__error{color:#dc2626;font-size:.85rem;font-weight:500;padding:10px 14px;background:#fef2f2;border-radius:8px;border:1px solid #fecaca}.apply-modal__submit{color:white;border:none;padding:14px 32px;border-radius:30px;font-size:1rem;font-weight:700;cursor:pointer;transition:background .3s;width:100%}.apply-modal__submit,.apply-modal__submit:hover:not(:disabled){background:var(--primary-orange)}.apply-modal__submit:disabled{background:#cbd5e1;cursor:not-allowed}@media (max-width:600px){.apply-modal{max-height:95vh}.apply-modal__header{padding:20px 20px 0}.apply-modal__position-info{margin:12px 20px 0;flex-direction:column;gap:6px}.apply-modal__form{padding:20px}}