.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.75);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;display:-webkit-flex;display:-ms-flexbox;align-items:center;-webkit-align-items:center;-ms-flex-align:center;justify-content:center;-webkit-justify-content:center;-ms-flex-pack:center;z-index:9999;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;-webkit-transition:opacity .3s,visibility .3s;-moz-transition:opacity .3s,visibility .3s;-ms-transition:opacity .3s,visibility .3s;-o-transition:opacity .3s,visibility .3s;padding:2rem;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-overlay.active{opacity:1;visibility:visible}.modal-container{background:#fff;border-radius:16px;width:100%;max-width:700px;max-height:90vh;display:flex;display:-webkit-flex;display:-ms-flexbox;flex-direction:column;-webkit-flex-direction:column;-ms-flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.3);-webkit-box-shadow:0 20px 60px rgba(0,0,0,.3);-moz-box-shadow:0 20px 60px rgba(0,0,0,.3);transform:translateY(20px) scale(.95);-webkit-transform:translateY(20px) scale(.95);-moz-transform:translateY(20px) scale(.95);-ms-transform:translateY(20px) scale(.95);-o-transform:translateY(20px) scale(.95);transition:transform .3s;-webkit-transition:-webkit-transform .3s;-moz-transition:-moz-transform .3s;-ms-transition:-ms-transform .3s;-o-transition:-o-transform .3s;overflow:hidden}.modal-overlay.active .modal-container{transform:translateY(0) scale(1);-webkit-transform:translateY(0) scale(1);-moz-transform:translateY(0) scale(1);-ms-transform:translateY(0) scale(1);-o-transform:translateY(0) scale(1)}.modal-header{padding:2rem 2.5rem;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#f9fafb 0,#fff 100%)}.modal-title{font-size:2rem;font-weight:600;color:var(--color-heading);margin:0}.modal-close{background:0 0;border:none;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s;color:#6b7280;font-size:1.25rem}.modal-close:hover{background:#f3f4f6;color:var(--color-heading)}.modal-body{padding:2.5rem;overflow-y:auto;flex:1}.job-info-banner{background:linear-gradient(135deg,#f0f9ff 0,#e0f2fe 100%);border:1px solid #bae6fd;border-radius:12px;padding:1.5rem;margin-bottom:2rem}.job-info-category{display:inline-block;background:var(--color-primary);color:#fff;padding:.4rem 1rem;border-radius:6px;font-size:1.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.job-info-title{font-size:1.9rem;font-weight:600;color:var(--color-heading);margin:0}.job-application-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:1.6rem;font-weight:600;color:var(--color-heading)}.required{color:#ef4444}.form-group input,.form-group textarea{padding:1rem 1.25rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1.4rem;font-family:inherit;transition:.2s;background:#fff}.form-group input:focus,.form-group textarea:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1)}.form-group textarea{resize:vertical;min-height:120px}.error-message{display:none;font-size:.95rem;color:#ef4444;margin-top:.25rem;padding:.5rem;background:#fef2f2;border-left:3px solid #ef4444;border-radius:4px;animation:.2s slideDown}@keyframes slideDown{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-8px)}20%,40%,60%,80%{transform:translateX(8px)}}.shake-error{animation:.5s cubic-bezier(.36,.07,.19,.97) both shake!important}.form-group.has-error .file-upload-wrapper,.form-group.has-error input,.form-group.has-error textarea{border-color:#ef4444!important;background-color:#fef2f2!important;border-width:2px!important}.checkbox-group.has-error .error-message,.form-group.has-error .error-message{display:block!important}.checkbox-group.has-error .checkbox-custom{border-color:#ef4444!important;background-color:#fef2f2!important;border-width:2px!important}.checkbox-group.has-error .checkbox-text{color:#ef4444!important;font-weight:500}.file-upload-group{margin-top:.5rem}.file-upload-wrapper{position:relative;border:2px dashed #d1d5db;border-radius:12px;background:#f9fafb;transition:.2s;cursor:pointer}.file-upload-wrapper:hover{border-color:var(--color-primary);background:#f0f9ff}.file-upload-wrapper.drag-over{border-color:var(--color-primary);background:#e0f2fe}.file-upload-wrapper input[type=file]{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}.file-upload-display{padding:2rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}.file-upload-display i{font-size:3rem;color:var(--color-primary);margin-bottom:.5rem}.file-upload-text{font-size:1.125rem;font-weight:600;color:var(--color-heading)}.file-upload-hint{font-size:.95rem;color:#6b7280}.file-upload-selected{padding:1.5rem;display:flex;align-items:center;gap:1rem;background:#fff;border-radius:10px;margin:.5rem}.file-upload-selected i{font-size:1.5rem;color:#ef4444}.file-upload-selected .file-name{flex:1;font-size:1.05rem;color:var(--color-heading);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-remove{background:0 0;border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s;color:#6b7280}.file-remove:hover{background:#f3f4f6;color:#ef4444}.character-count{font-size:.95rem;color:#6b7280;text-align:right;margin-top:-.25rem}.checkbox-group{margin-top:.5rem;position:relative;padding-bottom:2.5rem}.checkbox-group .error-message{position:absolute;bottom:0;left:0;right:0}.checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;user-select:none;position:relative}.checkbox-label input[type=checkbox]{position:absolute;opacity:0;width:24px;height:24px;cursor:pointer;z-index:2}.checkbox-custom{width:24px;height:24px;min-width:24px;border:2px solid #d1d5db;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:.2s;background:#fff;position:relative;z-index:1}.checkbox-label input[type=checkbox]:checked+.checkbox-custom{background:var(--color-primary);border-color:var(--color-primary)}.checkbox-label input[type=checkbox]:checked+.checkbox-custom::after{content:"✓";color:#fff;font-size:.85rem;font-weight:700}.checkbox-text{font-size:1.3rem;color:#4b5563;line-height:1.5}.consent-notice{margin-top:1.5rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#f0f9ff 0,#e0f2fe 100%);border:1px solid #bae6fd;border-left:4px solid var(--color-primary);border-radius:8px}.consent-notice p{margin:0;font-size:.95rem;color:#1e3a8a;line-height:1.6}.consent-notice strong{color:var(--color-primary);font-weight:600}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.3)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary:hover{background:#e5e7eb}.submission-success{text-align:center;padding:3rem 2rem}.success-icon{width:80px;height:80px;margin:0 auto 1.5rem;background:linear-gradient(135deg,#10b981 0,#059669 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:.5s successPop}.success-icon i{font-size:2.5rem;color:#fff}@keyframes successPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}100%{transform:scale(1);opacity:1}}.submission-success h3{font-size:2rem;color:var(--color-heading);margin-bottom:1rem}.submission-success p{font-size:1.15rem;color:#6b7280;line-height:1.6;margin-bottom:2rem;max-width:500px;margin-left:auto;margin-right:auto}@media (max-width:1024px){.modal-container{max-width:650px}.modal-title{font-size:1.9rem}.modal-body{padding:2.25rem}}@media (max-width:992px){.modal-overlay{padding:1.5rem}.modal-container{max-width:600px;max-height:85vh}.modal-header{padding:1.75rem 2rem}.modal-title{font-size:1.8rem}.modal-body{padding:2rem}.job-info-banner{padding:1.25rem}.job-info-category{font-size:1.4rem;padding:.35rem .9rem}.job-info-title{font-size:1.7rem}.form-group label{font-size:1.5rem}.form-group input,.form-group textarea{padding:.9rem 1.1rem;font-size:1.35rem}}@media (max-width:820px){.modal-overlay{padding:1.25rem;align-items:flex-start}.modal-container{max-height:calc(100vh - 2.5rem);margin-top:1rem}.form-row{grid-template-columns:1fr;gap:1.25rem}.file-upload-display{padding:1.75rem}.file-upload-display i{font-size:2.5rem}.file-upload-text{font-size:1.05rem}.success-icon{width:70px;height:70px}.success-icon i{font-size:2.25rem}.submission-success h3{font-size:1.9rem}.submission-success p{font-size:1.1rem}}@media (max-width:768px){.modal-overlay{padding:1rem;align-items:flex-start}.modal-container{max-height:calc(100vh - 2rem);margin-top:1rem;border-radius:12px}.modal-header{padding:1.5rem}.modal-title{font-size:1.6rem}.modal-close{width:42px;height:42px;font-size:1.15rem}.modal-body{padding:1.5rem}.job-info-banner{padding:1.25rem;border-radius:10px}.job-info-category{font-size:1.3rem;padding:.3rem .85rem}.job-info-title{font-size:1.6rem}.job-application-form{gap:1.25rem}.form-row{grid-template-columns:1fr;gap:1.25rem}.form-group{gap:.4rem}.form-group label{font-size:1.45rem}.form-group input,.form-group textarea{padding:.85rem 1rem;font-size:1.3rem}.form-group textarea{min-height:100px}.file-upload-display{padding:1.5rem}.file-upload-display i{font-size:2.25rem}.file-upload-text{font-size:1rem}.file-upload-hint{font-size:.9rem}.file-upload-selected{padding:1.25rem}.file-upload-selected i{font-size:1.35rem}.file-upload-selected .file-name{font-size:1rem}.checkbox-text{font-size:1.25rem}.consent-notice{padding:.9rem 1.1rem}.character-count,.consent-notice p{font-size:.9rem}.form-actions{flex-direction:column-reverse;gap:.75rem}.form-actions .btn{width:100%;padding:1rem 2rem;font-size:1.3rem}.success-icon{width:65px;height:65px}.success-icon i{font-size:2rem}.submission-success{padding:2.5rem 1.5rem}.submission-success h3{font-size:1.8rem}.submission-success p{font-size:1.05rem;margin-bottom:1.75rem}}@media (max-width:600px){.modal-overlay{padding:.75rem}.modal-container{max-height:calc(100vh - 1.5rem);margin-top:.75rem;border-radius:10px}.modal-header{padding:1.25rem}.modal-title{font-size:1.5rem}.modal-close{width:38px;height:38px;font-size:1.1rem}.modal-body{padding:1.25rem}.job-info-banner{padding:1rem;margin-bottom:1.5rem}.job-info-category{font-size:1.2rem;padding:.3rem .8rem}.job-info-title{font-size:1.5rem}.form-row,.job-application-form{gap:1rem}.form-group label{font-size:1.4rem}.form-group input,.form-group textarea{padding:.8rem .95rem;font-size:1.25rem}.file-upload-display{padding:1.25rem}.file-upload-display i{font-size:2rem;margin-bottom:.4rem}.file-upload-text{font-size:.95rem}.file-upload-hint{font-size:.85rem}.file-upload-selected{padding:1rem}.file-upload-selected i{font-size:1.25rem}.success-icon{width:60px;height:60px;margin-bottom:1.25rem}.success-icon i{font-size:1.85rem}.submission-success h3{font-size:1.7rem;margin-bottom:.9rem}.submission-success p{font-size:1rem;margin-bottom:1.5rem}}@media (max-width:480px){.modal-overlay{padding:.5rem;align-items:flex-start}.modal-container{max-height:calc(100vh - 1rem);margin-top:.5rem;border-radius:8px}.modal-header{padding:1rem 1.25rem}.modal-title{font-size:1.4rem}.modal-close{width:36px;height:36px;font-size:1rem}.modal-body{padding:1rem 1.25rem}.job-info-banner{padding:.9rem;margin-bottom:1.25rem;border-radius:8px}.job-info-category{font-size:1.1rem;padding:.25rem .7rem;margin-bottom:.4rem}.job-info-title{font-size:1.4rem}.form-row,.job-application-form{gap:.9rem}.form-group{gap:.35rem}.form-group label{font-size:1.35rem}.form-group input,.form-group textarea{padding:.75rem .9rem;font-size:1.2rem;border-radius:6px}.form-group textarea{min-height:90px}.error-message{font-size:.9rem;padding:.4rem}.file-upload-wrapper{border-radius:10px}.file-upload-display{padding:1rem}.file-upload-display i{font-size:1.85rem;margin-bottom:.35rem}.file-upload-text{font-size:.9rem}.file-upload-hint{font-size:.8rem}.file-upload-selected{padding:.9rem;margin:.4rem;border-radius:8px}.file-upload-selected i{font-size:1.15rem}.file-upload-selected .file-name{font-size:.95rem}.file-remove{width:28px;height:28px}.checkbox-group{padding-bottom:2rem}.checkbox-label{gap:.6rem}.checkbox-custom{width:22px;height:22px;min-width:22px}.checkbox-label input[type=checkbox]{width:22px;height:22px}.checkbox-text{font-size:1.2rem}.consent-notice{padding:.8rem 1rem;margin-top:1.25rem;border-radius:6px}.consent-notice p{font-size:.85rem;line-height:1.5}.character-count{font-size:.85rem}.form-actions{margin-top:.75rem;padding-top:1.25rem;gap:.6rem}.form-actions .btn{padding:.9rem 1.8rem;font-size:1.25rem}.success-icon{width:55px;height:55px;margin-bottom:1rem}.success-icon i{font-size:1.7rem}.submission-success{padding:2rem 1.25rem}.submission-success h3{font-size:1.6rem;margin-bottom:.8rem}.submission-success p{font-size:.95rem;margin-bottom:1.25rem;line-height:1.5}}@media (max-width:375px){.modal-overlay{padding:.25rem}.modal-container{max-height:calc(100vh - .5rem);margin-top:.25rem}.modal-header{padding:.9rem 1rem}.modal-title{font-size:1.3rem}.modal-close{width:34px;height:34px;font-size:.95rem}.modal-body{padding:.9rem 1rem}.job-info-banner{padding:.8rem;margin-bottom:1rem}.job-info-category{font-size:1rem;padding:.25rem .65rem}.job-info-title{font-size:1.3rem}.form-row,.job-application-form{gap:.8rem}.form-group label{font-size:1.3rem}.form-group input,.form-group textarea{padding:.7rem .85rem;font-size:1.15rem}.file-upload-display{padding:.9rem}.file-upload-display i{font-size:1.7rem}.file-upload-text{font-size:.85rem}.file-upload-hint{font-size:.75rem}.checkbox-text{font-size:1.15rem}.consent-notice p{font-size:.8rem}.success-icon{width:50px;height:50px;margin-bottom:.9rem}.success-icon i{font-size:1.6rem}.submission-success h3{font-size:1.5rem;margin-bottom:.7rem}.submission-success p{font-size:.9rem;margin-bottom:1rem}}@media (max-width:320px){.modal-header{padding:.8rem .9rem}.modal-title{font-size:1.2rem}.modal-body{padding:.8rem .9rem}.job-info-title{font-size:1.2rem}.form-group label{font-size:1.25rem}.form-group input,.form-group textarea{padding:.65rem .8rem;font-size:1.1rem}.success-icon{width:45px;height:45px}.success-icon i{font-size:1.5rem}.submission-success h3{font-size:1.4rem}.submission-success p{font-size:.85rem}}@media (max-height:600px) and (orientation:landscape){.modal-overlay{align-items:flex-start;padding:.5rem}.modal-container{max-height:calc(100vh - 1rem);margin-top:.5rem}.modal-header{padding:.8rem 1.25rem}.modal-body{padding:1rem 1.25rem}.job-info-banner{padding:.8rem;margin-bottom:1rem}.job-application-form{gap:.8rem}.form-group textarea{min-height:70px}.success-icon{width:50px;height:50px;margin-bottom:.75rem}.submission-success{padding:1.5rem 1rem}.submission-success h3{margin-bottom:.5rem}.submission-success p{margin-bottom:1rem}}@media (hover:none) and (pointer:coarse){.file-remove,.modal-close{min-width:44px;min-height:44px}.checkbox-label input[type=checkbox]{min-width:28px;min-height:28px}.checkbox-custom{width:28px;height:28px;min-width:28px}.form-group input,.form-group textarea{min-height:44px}.form-actions .btn{min-height:48px}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.file-upload-wrapper,.form-group input,.form-group textarea{border-width:1.5px}}@media (prefers-reduced-motion:reduce){.modal-container,.modal-overlay,.success-icon{transition:none!important;animation:none!important}@keyframes successPop{0%,100%{transform:scale(1);opacity:1}}@keyframes slideDown{0%,100%{opacity:1;transform:translateY(0)}}@keyframes shake{0%,100%{transform:translateX(0)}}}@supports (-webkit-appearance:none){.modal-overlay{-webkit-overflow-scrolling:touch}.modal-container{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.file-upload-input,.form-group input,.form-group textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none}}@supports (-webkit-touch-callout:none){.modal-overlay{height:-webkit-fill-available}.modal-container{max-height:85vh}.form-group input,.form-group textarea{font-size:16px!important}}@-moz-document url-prefix(){.modal-body,.modal-overlay{scrollbar-width:thin;scrollbar-color:rgba(155,155,155,0.7) transparent}}@supports selector(::-webkit-scrollbar){.modal-body::-webkit-scrollbar,.modal-overlay::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track,.modal-overlay::-webkit-scrollbar-track{background:0 0}.modal-body::-webkit-scrollbar-thumb,.modal-overlay::-webkit-scrollbar-thumb{background:rgba(155,155,155,.5);border-radius:10px}.modal-body::-webkit-scrollbar-thumb:hover,.modal-overlay::-webkit-scrollbar-thumb:hover{background:rgba(155,155,155,.7)}}@supports not (display:grid){.form-row{display:block}.form-row .form-group{display:inline-block;width:calc(50% - .75rem);vertical-align:top}.form-row .form-group:not(:last-child){margin-right:1.5rem}}@media only screen and (device-width:375px) and (device-height:812px) and (-webkit-device-pixel-ratio:3){.modal-overlay{padding:env(safe-area-inset-top,1rem) env(safe-area-inset-right,.5rem) env(safe-area-inset-bottom,1rem) env(safe-area-inset-left,.5rem)}}@media only screen and (device-width:390px) and (device-height:844px) and (-webkit-device-pixel-ratio:3){.modal-overlay{padding:env(safe-area-inset-top,1rem) env(safe-area-inset-right,.5rem) env(safe-area-inset-bottom,1rem) env(safe-area-inset-left,.5rem)}}@media only screen and (device-width:430px) and (device-height:932px) and (-webkit-device-pixel-ratio:3){.modal-overlay{padding:env(safe-area-inset-top,1rem) env(safe-area-inset-right,.75rem) env(safe-area-inset-bottom,1rem) env(safe-area-inset-left,.75rem)}}@media only screen and (min-device-width:834px) and (max-device-width:834px) and (orientation:portrait){.modal-container{max-width:650px}}@media only screen and (min-device-width:1024px) and (max-device-width:1024px) and (orientation:portrait){.modal-container{max-width:700px}}@media only screen and (device-width:360px) and (device-height:800px){.form-group input,.form-group textarea{font-size:16px}}@media (prefers-contrast:high){.modal-overlay{background:rgba(0,0,0,.9)}.modal-container{border:2px solid #000}.file-upload-wrapper,.form-group input,.form-group textarea{border-width:2px}}@supports selector(:focus-visible){.checkbox-label input:focus:not(:focus-visible),.file-upload-input:focus:not(:focus-visible),.form-actions .btn:focus:not(:focus-visible),.form-group input:focus:not(:focus-visible),.form-group textarea:focus:not(:focus-visible),.modal-close:focus:not(:focus-visible){outline:0;box-shadow:none}.form-actions .btn:focus-visible,.form-group input:focus-visible,.form-group textarea:focus-visible,.modal-close:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.checkbox-label input:focus-visible+.checkbox-custom{outline:3px solid var(--color-primary);outline-offset:2px}}@media print{.modal-overlay{position:static;background:0 0;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0}.modal-container{box-shadow:none;max-width:100%;max-height:none;transform:none}.form-actions .btn-secondary,.modal-close{display:none}}