.pw-recruitment{max-width:1160px;margin:0 auto;padding:44px 24px 72px;color:var(--front-text,#163249)}
.pw-recruitment-back{font-size:13px;color:var(--front-accent,#0878bb);font-weight:700}
.pw-recruitment-heading{padding:36px 0 32px;max-width:740px}
.pw-recruitment-heading>span{font-size:10px;letter-spacing:1.7px;font-weight:700;color:var(--front-muted,#6c8294)}
.pw-recruitment-heading h1{font-size:clamp(32px,4vw,48px);line-height:1.15;letter-spacing:-1.5px;margin:16px 0;color:inherit}
.pw-recruitment-heading p{font-size:16px;line-height:1.7;color:var(--front-muted,#6c8294)}
.pw-recruitment-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:28px;align-items:start}
.pw-recruitment-role{padding:30px;border-radius:20px;background:linear-gradient(145deg,#12384f,#1d737f);color:#e7f3f9}
.pw-recruitment-role img{margin-bottom:24px;max-width:100%;height:auto}
.pw-recruitment-role h2{color:#fff;font-size:23px;line-height:1.35;margin:0 0 12px}
.pw-recruitment-role p,.pw-recruitment-role li{font-size:13px;line-height:1.8}
.pw-recruitment-role ul{padding-left:20px;list-style:disc;margin:22px 0}
.pw-recruitment-role li+li{margin-top:10px}
.pw-recruitment-form{min-width:0;background:var(--front-surface,#fff);border:1px solid var(--front-line,#e1e8ef);border-radius:20px;padding:32px}
.pw-recruitment-form h2{font-size:24px;margin:0 0 12px;color:inherit}
.pw-recruitment-form p{line-height:1.7;color:var(--front-muted,#6c8294);font-size:14px}
.pw-recruitment-applicant{display:grid;gap:4px;padding:18px 20px;margin:24px 0;background:var(--front-surface-alt,#f0f6fa);border-radius:12px}
.pw-recruitment-applicant span,.pw-recruitment-applicant small{font-size:12px;color:var(--front-muted,#6c8294)}
.pw-recruitment-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pw-recruitment-form label{display:block;font-size:13px;font-weight:700;margin:20px 0 8px;color:inherit}
.pw-recruitment-form input,.pw-recruitment-form textarea{display:block;width:100%;max-width:100%;padding:12px 14px;border:1px solid var(--front-line,#d5e1ea);border-radius:10px;background:var(--front-bg,#fbfcfe);color:inherit;font:inherit;line-height:1.6}
.pw-recruitment-form textarea{resize:vertical}
.pw-recruitment-form input[readonly]{background:var(--front-surface-alt,#edf4f8);color:var(--front-muted,#6c8294)}
.pw-recruitment-section-title{font-size:18px;color:inherit;margin:30px 0 10px;padding-top:24px;border-top:1px solid var(--front-line,#e1e8ef)}
.pw-application-status{border:1px solid var(--front-line,#d3e3ed);border-radius:16px;padding:24px;background:var(--front-surface-alt,#f1f7fa)}
.pw-application-status-label{font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:700;color:var(--front-muted,#6c8294)}
.pw-application-status h3{font-size:24px;color:inherit;line-height:1.3;margin:12px 0}
.pw-application-status dl,.pw-application-submission dl{margin:20px 0 0;font-size:13px}
.pw-application-status dl div{display:flex;justify-content:space-between;gap:16px;margin-bottom:12px}
.pw-application-status dt,.pw-application-submission dt{color:var(--front-muted,#6c8294);font-weight:400}
.pw-application-status dd{margin:0;text-align:right;overflow-wrap:anywhere}
.pw-application-status .pw-recruitment-button{margin-top:16px}
.pw-application-submission{margin-top:24px;border-top:1px solid var(--front-line,#e1e8ef);padding-top:20px}
.pw-application-submission summary{cursor:pointer;font-weight:700;font-size:14px}
.pw-application-submission dl div{margin-bottom:18px}
.pw-application-submission dd{margin:6px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.pw-recruitment-form .pw-recruitment-help{font-size:12px;margin:8px 0 18px}
.pw-recruitment-button{display:inline-flex;justify-content:center;align-items:center;padding:13px 22px;border-radius:12px;border:0;background:#0878bb;color:#fff;font-family:inherit;font-weight:700;font-size:13px;line-height:1.5;cursor:pointer;text-decoration:none}
.pw-recruitment-button:hover{background:#075e91;color:#fff}
.pw-recruitment-button:disabled{opacity:.7;cursor:wait}
.pw-recruitment-notice,.pw-recruitment-error{padding:18px;border-radius:12px;margin-bottom:22px;background:var(--front-surface-alt,#eef7f4);border:1px solid var(--front-line,#c7e3d9);font-size:13px}
.pw-recruitment-error{border-color:#cd5b5b}
.pw-recruitment-error ul{margin:10px 0 0;padding-left:20px;list-style:disc}
.pw-recruitment :is(a,button,input,textarea):focus-visible{outline:3px solid var(--front-accent,#0878bb);outline-offset:3px}
/* Use the resident's beta palette throughout the shared recruitment page. */
.frontend-beta .pw-recruitment{--front-surface-alt:var(--city-soft);color:var(--front-ink)}
.frontend-beta .pw-recruitment-role{background:var(--city-soft);color:var(--front-ink);border:1px solid var(--front-line)}
.frontend-beta .pw-recruitment-role h2{color:var(--front-ink)}
.frontend-beta .pw-recruitment-button{background:var(--front-accent);color:var(--front-on-accent)}
.frontend-beta .pw-recruitment-button:hover{background:var(--front-accent);color:var(--front-on-accent);filter:brightness(.92)}
.frontend-beta .pw-recruitment-form :is(input,textarea)::placeholder{color:var(--front-muted);opacity:1}
.frontend-beta .pw-application-message.is-staff{border-left-color:var(--front-accent)}
@media(max-width:800px){.pw-recruitment-layout{grid-template-columns:1fr}.pw-recruitment-role{padding:24px}.pw-recruitment-role ul{margin:14px 0}.pw-recruitment-form{padding:24px}}
@media(max-width:480px){.pw-recruitment{padding:24px 18px 48px}.pw-recruitment-fields{grid-template-columns:1fr;gap:0}.pw-recruitment-form{padding:22px}.pw-recruitment-button{width:100%}}
