.modal_content{width:100%;position:relative}.modal_body{max-height:80vh}.modal_content h2{margin-bottom:18px}.error{color:#d93025}.error,.success{font-size:13px;margin-bottom:10px}.success{color:#188038}.postulerAppelOffre .actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.postulerAppelOffre .actions button{padding:10px 16px;border-radius:6px;border:none;font-size:14px;cursor:pointer}.postulerAppelOffre .actions button:first-child{background:#e63946;color:#fff}.postulerAppelOffre .actions button:first-child:disabled{background:#f199a0;cursor:not-allowed}.postulerAppelOffre .actions .cancel{background:#f1f1f1;color:#333}@media (max-width:480px){.modal_content{margin:10px;padding:16px}}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:1000}.char-count{margin-top:6px;font-size:.85rem;text-align:right;color:#6b7280;transition:color .2s ease}.char-count.warning{color:#f59e0b;font-weight:500}.char-count.danger{color:#dc2626;font-weight:600}.modal_content{background:#fff;width:100%!important;max-width:520px;border-radius:8px;padding:20px 22px 24px;position:relative!important;box-shadow:0 10px 30px rgba(0,0,0,.25);font-family:Arial,sans-serif}.modal_content .close{position:absolute;top:12px;right:12px;border:none;background:#f2f2f2;width:32px;height:32px;border-radius:50%;font-size:18px;cursor:pointer}.modal_content .close:hover{background:#e5e5e5}.modal_content h2{font-size:18px;margin-bottom:4px;display:flex;align-items:center;gap:8px}.subtitle{color:#6b7280;font-size:14px;margin-bottom:18px}.modal_content label{display:block;font-size:14px;margin-bottom:6px;font-weight:600;color:#333;width:100%}.required{color:#d93025}.modal_content input,.modal_content textarea{width:100%;padding:10px 12px;border-radius:6px;border:1px solid #ddd;font-size:14px;outline:none;margin-bottom:14px}.modal_content input:focus,.modal_content textarea:focus{border-color:#e63946}.modal_content textarea{min-height:110px;resize:vertical}.error{background:#fdecea;color:#b42318;border-left:4px solid #f04438}.error,.success{margin-bottom:14px;padding:12px 14px;border-radius:8px;font-size:14px;font-weight:500}.success{background:#ecfdf3;color:#027a48;border-left:4px solid #12b76a}.modal_body{max-height:70vh;overflow-x:auto}.security-alert{display:flex;align-items:flex-start;gap:14px;background:#fffbeb;border:1px solid #fcd34d;border-radius:10px;padding:16px 18px;margin:14px 0 18px;transition:all .3s ease}.security-alert:hover{background:#fef3c7;border-color:#f59e0b;box-shadow:0 4px 12px rgba(245,158,11,.15)}.security-alert-icon{font-size:28px;flex-shrink:0;line-height:1;margin-top:2px;animation:pulse-alert 2s infinite}@keyframes pulse-alert{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.security-alert-content{flex:1 1}.security-alert-title{font-size:14px;color:#92400e;margin-bottom:4px}.security-alert-title strong{color:#78350f}.security-alert-text{font-size:13px;color:#78350f;margin-bottom:10px;line-height:1.5}.security-alert-text strong{color:#b45309}.security-alert-btn{background:#dc2626;color:white;border:none;padding:6px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px}.security-alert-btn:hover{background:#b91c1c;transform:scale(1.02);box-shadow:0 4px 12px rgba(220,38,38,.3)}.security-alert-btn:active{transform:scale(.98)}.postulerOffreEmploi .actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.postulerOffreEmploi .actions button{padding:10px 16px;border-radius:6px;border:none;font-size:14px;cursor:pointer;transition:all .2s ease}.postulerOffreEmploi .actions button:first-child{background:#e63946;color:#fff}.postulerOffreEmploi .actions button:first-child:hover{background:#d62839;transform:translateY(-1px);box-shadow:0 4px 12px rgba(230,57,70,.3)}.postulerOffreEmploi .actions button:first-child:disabled{background:#f199a0;cursor:not-allowed;transform:none;box-shadow:none}.postulerOffreEmploi .actions .cancel{background:#f1f1f1;color:#333}.postulerOffreEmploi .actions .cancel:hover{background:#e5e5e5}.error,.success{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (max-width:480px){.modal_content{margin:10px;padding:16px}.security-alert{flex-direction:column;align-items:center;text-align:center;padding:14px}.security-alert-icon{font-size:32px}.security-alert-btn{width:100%;justify-content:center}.postulerOffreEmploi .actions{flex-direction:column-reverse}.postulerOffreEmploi .actions button{width:100%;justify-content:center}}