/* Scoped to the candidature modal; shared administrative dialogs retain their layout. */
#common-modal.tc-application-modal .modal-dialog { max-width:720px; margin:32px auto; }
#common-modal.tc-application-modal .modal-content { border:1px solid #cbdde4; border-radius:18px; overflow:hidden; box-shadow:0 20px 70px #071b3040; font:400 16px/1.6 "Open Sans",sans-serif; color:#1d3546; }
#common-modal.tc-application-modal .modal-header { align-items:center; padding:22px 28px; background:#071b30; border-bottom:3px solid #80d4ae; }
#common-modal.tc-application-modal .modal-title { margin:0; color:#fff; font:600 24px/1.3 Montserrat,sans-serif; }
#common-modal.tc-application-modal .close { opacity:1; color:#fff; text-shadow:none; width:44px; height:44px; margin:-6px -8px -6px 12px; padding:0; }
#common-modal.tc-application-modal .modal-body { padding:24px 28px; }
.tc-application-intro { margin:0 0 8px; }
.tc-application-required { margin:0 0 24px; color:#496172; font-size:13px; }
.tc-application-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px 24px; }
.tc-application-form label { display:block; margin-bottom:8px; font-weight:600; font-size:15px; color:#173b4d; }
.tc-application-optional { font-weight:400; color:#496172; font-size:13px; }
.tc-application-field input { width:100%; min-height:48px; padding:10px 12px; border:1px solid #8aa8b7; border-radius:8px; background:#fff; color:#1d3546; font:400 16px/1.5 "Open Sans",sans-serif; }
.tc-application-form input:focus-visible, #common-modal.tc-application-modal button:focus-visible { outline:3px solid #80d4ae; outline-offset:3px; }
.tc-application-field input[aria-invalid=true] { border-color:#aa3434; }
.tc-application-form .text-danger, .tc-application-error { display:block; margin-top:6px; font-size:13px; color:#a12727; }
.tc-application-upload { margin-top:24px; padding:20px; border:1px dashed #7cae9d; border-radius:12px; background:#f0f8f5; }
.tc-application-upload p { margin:0 0 12px; font-size:13px; color:#435c6c; }
.tc-application-upload input { display:block; max-width:100%; width:100%; font-size:14px; color:#1d3546; }
.tc-application-upload input::file-selector-button { min-height:44px; padding:10px 14px; margin-right:12px; border:1px solid #176449; border-radius:7px; background:#fff; color:#145d49; cursor:pointer; font-weight:600; }
.tc-application-privacy { margin:20px 0 0; color:#435c6c; font-size:13px; }
.tc-application-privacy a { color:#145d49; text-decoration:underline; text-underline-offset:3px; }
#common-modal.tc-application-modal .modal-footer { gap:10px; padding:18px 28px; border-top:1px solid #d9e5e8; background:#f7fafb; }
#common-modal.tc-application-modal .modal-footer button { min-height:48px; padding:12px 18px; border-radius:8px; font-size:15px; font-weight:600; margin:0; }
#common-modal.tc-application-modal .modal-footer .btnsecondary { border:1px solid #8aa8b7; background:#fff; color:#173b4d; }
#common-modal.tc-application-modal #sbt-common-modal { border:1px solid #80d4ae; background:#80d4ae; color:#071b30; }
@media(max-width:575px) { #common-modal.tc-application-modal .modal-dialog { margin:12px; } #common-modal.tc-application-modal .modal-header, #common-modal.tc-application-modal .modal-body, #common-modal.tc-application-modal .modal-footer { padding:18px; } #common-modal.tc-application-modal .modal-title { font-size:21px; } .tc-application-grid { grid-template-columns:1fr; gap:16px; } .tc-application-upload { padding:16px; } #common-modal.tc-application-modal .modal-footer { display:flex; flex-direction:column-reverse; align-items:stretch; } }
