/* Popup-only overrides; the ID intentionally outranks theme/Customizer CSS. */
@font-face { font-family:'PA Google Sans'; font-style:normal; font-weight:500; font-display:swap; src:url('../vendor/google/google-sans-medium.ttf') format('truetype'); }
:is(#JobSearchModalLogin,#JobSearchModalUserProfileDel) { --pa-purple:#92278f; position:fixed; inset:0; width:100%; height:100%; height:100dvh; margin:0; padding:24px; overflow:auto; overscroll-behavior:contain; background:rgba(20,16,26,.64); color:#1e1e1e; }
:is(#JobSearchModalLogin,#JobSearchModalUserProfileDel).fade-in { display:flex!important; align-items:flex-start; justify-content:center; }
:is(#JobSearchModalLogin,#JobSearchModalUserProfileDel) .modal-inner-area { display:none; }
:is(#JobSearchModalLogin,#JobSearchModalUserProfileDel) .modal-content-area { position:relative; display:block; float:none; width:500px; max-width:100%; margin:auto; padding:0; top:auto; left:auto; transform:none; }
#JobSearchModalLogin.pa-auth-registration .modal-content-area { width:680px; }
:is(#JobSearchModalLogin,#JobSearchModalUserProfileDel) .modal-box-area { display:block; float:none; width:100%; padding:0; margin:0; border:0; border-radius:16px; background:#fff; box-shadow:0 16px 56px rgba(20,16,26,.2); overflow:visible; }
#JobSearchModalLogin .modal-box-area > div { position:relative; width:100%; max-width:none; padding:32px; margin:0; background:transparent; border:0; box-shadow:none; border-radius:16px; }
:is(#JobSearchModalLogin,#JobSearchModalUserProfileDel) :is(h2,p,label,input,button,a,span,small,select) { text-transform:none!important; letter-spacing:normal; }
#JobSearchModalLogin :is(form,.jobsearch-user-form) { float:none; width:100%; padding:0; margin:0; }
#JobSearchModalLogin .jobsearch-modal-title-box { position:relative; margin:0 0 24px; padding:0 44px 0 0; border:0; float:none; }
#JobSearchModalLogin .jobsearch-modal-title-box h2 { margin:0; color:#1e1e1e; font-family:inherit; font-size:28px; line-height:1.25; font-weight:600; }
#JobSearchModalLogin .modal-close { position:absolute; right:-12px; top:-10px; display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:10px; margin:0; background:transparent; border:0; border-radius:8px; color:#625d69; cursor:pointer; transform:none; }
#JobSearchModalLogin .modal-close:hover { color:#92278f; background:#f3f2f8; transform:none; }
#JobSearchModalLogin .pa-auth-icon { width:22px; height:22px; display:block; flex:none; pointer-events:none; }
#JobSearchModalLogin :is(.jobsearch-user-form > ul,.jobsearch-login-media,.jobsearch-user-type-choose) { display:flow-root; margin:0; padding:0; list-style:none; width:100%; }
#JobSearchModalLogin .jobsearch-user-form > ul > li { position:relative; float:none; display:block; width:100%; margin:0 0 18px; padding:0; text-align:left; list-style:none; min-width:0; }
#JobSearchModalLogin .jobsearch-user-form-coltwo > ul { display:flex; flex-wrap:wrap; gap:0 20px; }
#JobSearchModalLogin .jobsearch-user-form-coltwo > ul > li { width:calc(50% - 10px); }
#JobSearchModalLogin .jobsearch-user-form-coltwo > ul > li.jobsearch-user-form-coltwo-full { width:100%; }
#JobSearchModalLogin .jobsearch-user-form label,
#JobSearchModalLogin .jobsearch-box-title:not(.jobsearch-box-title-sub) span { display:block; margin:0 0 8px; color:#1e1e1e; font-size:14px; font-weight:500; line-height:1.5; }
#JobSearchModalLogin .jobsearch-user-form :is(input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],select) { box-sizing:border-box; width:100%; min-width:0; height:48px; margin:0; padding:11px 12px; border:1px solid #d7d3dd; border-radius:7px; background:#fff; color:#1e1e1e; font-family:inherit; font-size:16px; line-height:24px; box-shadow:none; }
#JobSearchModalLogin .jobsearch-user-form li:has(> .jobsearch-user-showpass) > input { padding-right:52px; }
#JobSearchModalLogin .jobsearch-user-form > ul > li > i.jobsearch-icon { display:none; }
:is(#JobSearchModalLogin,#JobSearchModalUserProfileDel) :is(a,button,input,select,[tabindex]):focus-visible { outline:3px solid rgba(146,39,143,.3); outline-offset:3px; }
#JobSearchModalLogin .jobsearch-user-form input:focus:not(.pa-invalid-control):not([aria-invalid="true"]) { border-color:#92278f!important; box-shadow:0 0 0 3px rgba(146,39,143,.12); outline:0; }
#JobSearchModalLogin .jobsearch-user-showpass { position:absolute; display:flex!important; justify-content:center; align-items:center; top:31px; right:2px; bottom:auto; width:44px; height:44px; padding:0; border:0; border-radius:6px; background:transparent; color:#6b6170; opacity:1!important; cursor:pointer; }
#JobSearchModalLogin .jobsearch-user-showpass:hover { color:#92278f; background:#f3f2f8; }
#JobSearchModalLogin .jobsearch-user-hidepass { color:#92278f; }
/* Shared input row keeps both icon centres on the existing eye axis. Errors
   remain in subsequent rows, so they cannot shift either icon. */
#JobSearchModalLogin .jobsearch-user-form > ul > li.pa-auth-login-field { --pa-auth-icon-slot:44px; --pa-auth-icon-inset:2px; display:grid; grid-template-columns:minmax(0,1fr); }
#JobSearchModalLogin .pa-auth-login-field > label { grid-area:1 / 1; }
#JobSearchModalLogin .jobsearch-user-form .pa-auth-login-field > input { grid-area:2 / 1; padding-right:calc(var(--pa-auth-icon-slot) + var(--pa-auth-icon-inset) + 6px); }
#JobSearchModalLogin .jobsearch-user-form .pa-auth-login-field > .pa-auth-field-adornment { grid-area:2 / 1; position:static; display:flex!important; align-items:center; justify-content:center; align-self:center; justify-self:end; width:var(--pa-auth-icon-slot); height:var(--pa-auth-icon-slot); margin:0 var(--pa-auth-icon-inset) 0 0; padding:0; color:var(--pa-purple); line-height:1; transform:none; transition:none; animation:none; }
#JobSearchModalLogin .pa-auth-login-field > i.pa-auth-field-adornment { pointer-events:none; }
#JobSearchModalLogin input[type=submit] { float:none; width:100%; margin:0; transform:none; }
#JobSearchModalLogin input[type=submit]:hover:not(:disabled) { transform:none; }
#JobSearchModalLogin form[aria-busy=true] input[type=submit] { opacity:.7; cursor:wait; }
#JobSearchModalLogin a { color:#92278f; text-decoration:none; }
#JobSearchModalLogin a:hover { text-decoration:underline; }
#JobSearchModalLogin .pa-auth-options { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px 16px; margin:0 0 20px; font-size:14px; }
#JobSearchModalLogin .jobsearch-checkbox { display:flex; align-items:center; gap:8px; margin:0; float:none; }
#JobSearchModalLogin .jobsearch-checkbox input[type=checkbox] { display:block!important; position:static; width:18px; height:18px; margin:0; opacity:1; pointer-events:auto; accent-color:#92278f; flex:none; }
#JobSearchModalLogin .jobsearch-checkbox label { display:inline; font-size:14px; line-height:1.5; margin:0; cursor:pointer; }
#JobSearchModalLogin .jobsearch-checkbox label > span { display:none; }
#JobSearchModalLogin .jobsearch-checkbox label:before,#JobSearchModalLogin .jobsearch-checkbox label:after { display:none; }
#JobSearchModalLogin :is(.pa-auth-footer,.jobsearch-user-form-info) { display:block; width:100%; margin:24px 0 0; padding:0; text-align:center; font-size:14px; line-height:1.6; float:none; }
#JobSearchModalLogin .jobsearch-user-form-info p { margin:0; font-size:14px; white-space:normal; }
#JobSearchModalLogin .jobsearch-box-title-sub { display:flex; align-items:center; gap:12px; width:100%; margin:20px 0; padding:0; border:0; }
#JobSearchModalLogin .jobsearch-box-title-sub:before,#JobSearchModalLogin .jobsearch-box-title-sub:after { content:''; position:static; flex:1; height:1px; background:#e3e0e8; width:auto; border:0; }
#JobSearchModalLogin .jobsearch-box-title-sub span { position:static; padding:0; margin:0; background:none; color:#716b77; font-size:14px; line-height:20px; }
#JobSearchModalLogin .jobsearch-login-media { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; }
#JobSearchModalLogin .jobsearch-login-media li { float:none; display:block; width:auto; max-width:100%; padding:0; margin:0; }
#JobSearchModalLogin :is(.login-reg-errors,.registration-errors,.reset-password-errors) { clear:both; position:static; width:100%; margin:12px 0 0; font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
#JobSearchModalLogin :is(.login-reg-errors,.registration-errors,.reset-password-errors):empty { display:none; }
#JobSearchModalLogin .alert { position:static; padding:12px 14px; margin:0 0 12px; border-radius:7px; line-height:1.5; }
#JobSearchModalLogin .alert-danger { background:#fff0f1; color:var(--pa-color-error); border:1px solid var(--pa-color-error); }
#JobSearchModalLogin .alert-success { background:#edf8f0; color:#24633b; border:1px solid #c3e4cd; }
#JobSearchModalLogin .form-loader { position:static; float:none; width:100%; margin:8px 0; text-align:center; color:#92278f; }
#JobSearchModalLogin .form-loader:empty { display:none; }
#JobSearchModalLogin .pa-auth-description { margin:0 0 24px; color:#625d69; font-size:15px; line-height:1.6; }
#JobSearchModalLogin .pa-auth-required-note { display:block; clear:both; width:100%; margin:8px 0 0; color:var(--pa-neutral); font-size:13px; line-height:1.5; font-weight:400; text-align:left; }
#JobSearchModalLogin .passlenth-chk-msg { position:static; display:block; margin:6px 0 0; font-size:13px; line-height:1.5; }
#JobSearchModalLogin .jobsearch-box-title:not(.jobsearch-box-title-sub) { margin:0 0 10px; padding:0; border:0; text-align:left; }
#JobSearchModalLogin .jobsearch-user-options { float:none; width:100%; margin:0 0 24px; }
#JobSearchModalLogin .jobsearch-user-type-choose { display:flex; gap:12px; }
#JobSearchModalLogin .jobsearch-user-type-choose li { float:none; width:50%; margin:0; padding:0; }
#JobSearchModalLogin .user-type-chose-btn { display:flex; flex-flow:row nowrap; align-items:center; justify-content:center; gap:8px; min-height:52px; margin:0; padding:12px; border:1px solid #d7d3dd; border-radius:8px; background:#fff; color:#625d69; }
#JobSearchModalLogin .user-type-chose-btn > .pa-auth-icon { position:static; display:block; flex:0 0 22px; width:22px; height:22px; margin:0; padding:0; transform:none; }
#JobSearchModalLogin .user-type-chose-btn > span { position:static; display:block; flex:0 0 auto; float:none; width:auto; margin:0; padding:0; color:inherit; font-size:14px; line-height:20px; transform:none; }
#JobSearchModalLogin .user-type-chose-btn small { display:none; }
#JobSearchModalLogin .jobsearch-user-type-choose .active a { background:#f3f2f8; border-color:#92278f; color:#92278f; }
#JobSearchModalLogin .jobsearch-user-type-choose li a:before,#JobSearchModalLogin .jobsearch-user-type-choose li a:after { display:none; }
/* Google's official HTML state layer, with the current Google Sans and gradient G.
   Never inherit the site's purple link/button theme. */
#JobSearchModalLogin a.gsi-material-button { box-sizing:border-box; position:relative; display:inline-flex; align-items:center; width:auto; max-width:400px; height:40px; min-height:40px; padding:0 12px; margin:0; overflow:hidden; border:1px solid #747775!important; border-radius:4px; background:#fff!important; background-image:none!important; color:#1f1f1f!important; font-family:'PA Google Sans',sans-serif!important; font-size:14px; line-height:20px; font-weight:500; text-decoration:none!important; letter-spacing:0; box-shadow:none; transition:box-shadow .218s; }
#JobSearchModalLogin .gsi-material-button-content-wrapper { display:flex; align-items:center; justify-content:center; flex-wrap:nowrap; position:relative; height:100%; width:100%; }
#JobSearchModalLogin .gsi-material-button img.gsi-material-button-icon { display:block; position:static; width:20px; height:20px; min-width:20px; padding:0; margin:0 10px 0 0; border:0; background:#fff; }
#JobSearchModalLogin .gsi-material-button-contents { color:#1f1f1f!important; font-family:'PA Google Sans',sans-serif!important; font-size:14px; font-weight:500; line-height:20px; white-space:nowrap; }
#JobSearchModalLogin .gsi-material-button-state { position:absolute; inset:0; background:#303030; opacity:0; transition:opacity .218s; }
#JobSearchModalLogin a.gsi-material-button:hover { box-shadow:0 1px 2px rgba(60,64,67,.3),0 1px 3px 1px rgba(60,64,67,.15); }
#JobSearchModalLogin .gsi-material-button:hover .gsi-material-button-state { opacity:.08; }
#JobSearchModalLogin .gsi-material-button:is(:active,:focus) .gsi-material-button-state { opacity:.12; }
#JobSearchModalLogin a.gsi-material-button:focus-visible { outline:2px solid #747775; outline-offset:3px; }
#JobSearchModalLogin a.gsi-material-button[aria-disabled=true] { cursor:default; border-color:#1f1f1f1f!important; background:#ffffff61!important; box-shadow:none; }
#JobSearchModalLogin .gsi-material-button[aria-disabled=true] :is(.gsi-material-button-icon,.gsi-material-button-contents) { opacity:.38; }
#JobSearchModalLogin .gsi-material-button[aria-disabled=true] .gsi-material-button-state { opacity:0; }
@media(max-width:600px) {
 #JobSearchModalLogin { padding:16px; }
 #JobSearchModalLogin .modal-box-area > div { padding:20px; }
 #JobSearchModalLogin .jobsearch-modal-title-box h2 { font-size:26px; }
 #JobSearchModalLogin .jobsearch-user-form-coltwo > ul > li { width:100%; }
 #JobSearchModalLogin .jobsearch-user-type-choose { gap:8px; }
 #JobSearchModalLogin .user-type-chose-btn { padding:10px 6px; gap:8px; }
}
@media(prefers-reduced-motion:reduce) {
 #JobSearchModalLogin,#JobSearchModalLogin * { transition:none!important; animation:none!important; }
}
/* Clear vendor floats so each field and helper participates in normal flow. */
:is(#JobSearchModalLogin,#JobSearchModalUserProfileDel) { font-family:Roboto,sans-serif; }
:is(#JobSearchModalLogin,#JobSearchModalUserProfileDel) .modal-content-area { min-height:0; }
#JobSearchModalLogin .modal-box-area > div { font-family:inherit; }
#JobSearchModalLogin .jobsearch-modal-title-box h2,
#JobSearchModalLogin .jobsearch-user-form :is(label,input),
#JobSearchModalLogin .jobsearch-box-title { float:none; }
#JobSearchModalLogin .jobsearch-user-form > ul > li { display:flow-root; }
#JobSearchModalLogin .jobsearch-user-form input[type=submit] { transform:none!important; }
#JobSearchModalLogin .jobsearch-checkbox label { width:auto; }
#JobSearchModalLogin .pa-auth-options a { float:none; }
#JobSearchModalLogin .passlenth-chk-msg { padding:4px 8px; border-radius:4px; }
#JobSearchModalLogin .passlenth-chk-msg:empty { display:none; }
#JobSearchModalLogin .pa-auth-options .jobsearch-checkbox { width:auto; order:0; }
#JobSearchModalLogin ul.jobsearch-login-media,#JobSearchModalLogin ul.jobsearch-user-type-choose { display:flex; }
#JobSearchModalLogin .jobsearch-box-title-sub span { width:auto; flex:none; float:none; }
#JobSearchModalLogin a.gsi-material-button { min-width:0; float:none; }
#JobSearchModalLogin .pa-auth-divider { display:flex; align-items:center; gap:12px; margin:20px 0; width:100%; }
#JobSearchModalLogin .pa-auth-divider:before,#JobSearchModalLogin .pa-auth-divider:after { content:''; display:block; flex:1; height:1px; background:#e3e0e8; }
#JobSearchModalLogin .pa-auth-divider span { flex:none; color:#716b77; font-size:14px; line-height:20px; }
#JobSearchModalLogin :is(ul.jobsearch-user-type-choose,ul.jobsearch-login-media) { float:none; border:0; }
#JobSearchModalLogin .jobsearch-user-options { display:flow-root; }
#JobSearchModalLogin .recaptcha-reload { max-width:100%; overflow-x:auto; }
#JobSearchModalLogin .recaptcha-reload-a { position:static; display:block; float:none; margin:8px 0 0; font-size:14px; }
#JobSearchModalLogin .gsi-material-button .gsi-material-button-contents { display:block!important; width:auto; max-width:none; opacity:1; visibility:visible; }
#JobSearchModalLogin a.gsi-material-button,#JobSearchModalLogin .gsi-material-button-contents { text-indent:0; }
:is(#JobSearchModalLogin,#JobSearchModalUserProfileDel) .modal-box-area { margin-bottom:0!important; position:relative!important; }
#JobSearchModalLogin .pa-auth-field-error { display:block; margin-top:6px; color:var(--pa-color-error); font-size:13px; line-height:1.5; }
#JobSearchModalLogin .pa-auth-field-error[hidden] { display:none; }
#JobSearchModalLogin :is(.alert,.recaptcha-reload-a) > .pa-auth-icon { display:inline-block; width:18px; height:18px; vertical-align:middle; margin-right:5px; }
#JobSearchModalLogin .pa-auth-spinner { margin:auto; animation:pa-auth-spin 1s linear infinite; }
@keyframes pa-auth-spin { to { transform:rotate(360deg); } }

/* Profile deletion shares the auth shell; only its content and destructive action differ. */
#JobSearchModalUserProfileDel .modal-content-area { width:460px; }
#JobSearchModalUserProfileDel.jobsearch-modal .modal-box-area { padding:32px; }
#JobSearchModalUserProfileDel .jobsearch-user-profiledel-pop { float:none; width:100%; padding:0; margin:0; text-align:left; }
#JobSearchModalUserProfileDel h2 { margin:0 36px 16px 0; font-weight:600; font-family:inherit; font-size:28px; line-height:1.25; color:#1e1e1e; }
#JobSearchModalUserProfileDel .pa-delete-warning { display:flex; gap:10px; align-items:flex-start; margin-bottom:24px; padding:14px; background:#f3f2f8; border-radius:8px; }
#JobSearchModalUserProfileDel .pa-delete-warning svg { width:22px; height:22px; flex:none; color:#9a2942; }
#JobSearchModalUserProfileDel .undone-msg { margin:0; font-size:15px; line-height:1.6; color:#1e1e1e; font-weight:400; }
#JobSearchModalUserProfileDel .pass-user-ara { width:100%; margin:0 0 20px; padding:0; }
#JobSearchModalUserProfileDel .pass-user-ara label { display:block; margin:0 0 8px; color:#1e1e1e; font-size:14px; line-height:1.5; }
#JobSearchModalUserProfileDel #d_user_pass { box-sizing:border-box; float:none; width:100%; height:48px; padding:11px 12px; border:1px solid #d7d3dd; border-radius:7px; background:#fff; color:#1e1e1e; font-family:inherit; font-size:16px; box-shadow:none; }
#JobSearchModalUserProfileDel #d_user_pass:focus-visible { border-color:#92278f; }
#JobSearchModalUserProfileDel .pass-user-ara > i { display:none; }
#JobSearchModalUserProfileDel .del-action-btns { display:flex; flex-wrap:wrap; gap:12px; margin:0; }
#JobSearchModalUserProfileDel .del-action-btns > a { position:static; display:flex; align-items:center; justify-content:center; flex:1 1 150px; float:none; width:auto; min-height:48px; padding:10px 14px; margin:0; border:1px solid #d7d3dd; border-radius:7px; background:#fff; color:#1e1e1e; font-family:inherit; font-size:16px; line-height:24px; font-weight:600; transform:none; box-shadow:none; }
#JobSearchModalUserProfileDel .del-action-btns > .jobsearch-userdel-profile { background:#a62d46; border-color:#a62d46; color:#fff; }
#JobSearchModalUserProfileDel .del-action-btns > .jobsearch-userdel-profile:hover { background:#842239; border-color:#842239; }
#JobSearchModalUserProfileDel .del-action-btns > .jobsearch-userdel-cancel { color:#1e1e1e!important; }
#JobSearchModalUserProfileDel .del-action-btns > .jobsearch-userdel-cancel:hover { background:#f3f2f8; border-color:#92278f; }
#JobSearchModalUserProfileDel .del-action-btns > [aria-disabled=true] { opacity:.55; cursor:not-allowed; }
#JobSearchModalUserProfileDel .pa-delete-close { position:absolute; display:flex; align-items:center; justify-content:center; right:16px; top:16px; width:44px; height:44px; margin:0; padding:10px; border:0; border-radius:8px; color:#625d69; background:transparent; transform:none; cursor:pointer; }
#JobSearchModalUserProfileDel .pa-delete-close:hover { color:#92278f; background:#f3f2f8; transform:none; }
#JobSearchModalUserProfileDel .pa-delete-close svg { width:22px; height:22px; pointer-events:none; }
#JobSearchModalUserProfileDel :is(.loader-con,.msge-con) { position:static; display:block; clear:both; margin:8px 0 0; font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
#JobSearchModalUserProfileDel .loader-con { min-height:24px; color:#92278f; }
#JobSearchModalUserProfileDel .msge-con:not(:empty) { padding:12px; border-radius:6px; background:#f3f2f8; color:#1e1e1e; }
#JobSearchModalUserProfileDel .msge-con:empty { margin:0; }
@media(max-width:600px) {
 #JobSearchModalUserProfileDel { padding:16px; }
 #JobSearchModalUserProfileDel.jobsearch-modal .modal-box-area { padding:20px; }
 #JobSearchModalUserProfileDel .pa-delete-close { top:8px; right:8px; }
}
