.jobs-page,.job-detail,.application-page{background:#f7f9fc;min-height:70vh}.jobs-hero,.detail-hero{padding:56px 0;background:linear-gradient(125deg,#062652,#0a4397);color:#fff}.jobs-hero h1,.detail-hero h1{max-width:850px;margin:6px 0 12px;font-size:clamp(34px,5vw,58px);line-height:1.08}.jobs-hero p{margin:0}.eyebrow{margin:0;color:#3bb425;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.jobs-layout{display:grid;grid-template-columns:300px 1fr;gap:34px;padding-block:40px 70px}.filters{align-self:start;padding:24px;border:1px solid #dfe6ef;border-radius:10px;background:#fff;box-shadow:0 10px 30px #0924540b}.filters h2{margin:0 0 20px}.filters label,.application-form label{display:grid;gap:8px;margin:0 0 16px;color:#092454;font-size:13px;font-weight:700}.filters input,.filters select,.application-form input,.application-form textarea,.admin-form input,.admin-form select,.admin-form textarea{width:100%;padding:13px;border:1px solid #cfd9e7;border-radius:6px;background:#fff;color:#092454;font:inherit}.filters .primary-button{width:100%;border:0;cursor:pointer}.reset-link{display:block;margin-top:14px;color:#68758c;font-size:12px;text-align:center}.results-head h2{margin:5px 0 22px;font-size:28px}.job-row{display:flex;align-items:center;gap:20px;margin-bottom:14px;padding:24px;border:1px solid #dbe4ef;border-radius:9px;background:#fff;box-shadow:0 8px 22px #0924540a}.job-row-main{flex:1}.job-sector{display:inline-block;margin-bottom:9px;padding:6px 10px;border-radius:15px;background:#eaf7e6;color:#27951c;font-size:11px;font-weight:800}.job-row h3{margin:0 0 8px;font-size:20px}.job-row p{margin:0 0 14px;color:#68758c;line-height:1.55}.job-meta{display:flex;flex-wrap:wrap;gap:18px;color:#68758c;font-size:13px}.job-arrow{flex:0 0 40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#3bb425;color:#fff;font-size:21px}.empty-state{padding:45px;text-align:center;border-radius:9px;background:#fff}.detail-hero a{display:block;margin-bottom:28px;color:#dce8fa}.detail-hero .job-sector{margin-right:10px}.detail-hero .job-summary{max-width:850px;margin:0 0 16px;color:#e8eef8;line-height:1.6}.detail-hero .job-meta{color:#fff}.detail-layout{display:grid;grid-template-columns:1fr 340px;gap:35px;padding-block:45px 75px}.detail-content,.apply-card,.form-shell{padding:34px;border:1px solid #dfe6ef;border-radius:10px;background:#fff}.detail-content h2{margin:5px 0 15px}.detail-content p{margin:0 0 32px;color:#536278;line-height:1.75}.apply-card{align-self:start}.apply-card h2{margin-top:0}.apply-card p{color:#68758c;line-height:1.6}.apply-card .primary-button{display:block;text-align:center}.not-found{padding-block:100px}.form-shell{max-width:820px;margin-inline:auto}.application-page{padding:55px 4% 75px}.form-shell h1{margin-top:8px}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}.application-form textarea{resize:vertical}.application-form .primary-button{border:0;cursor:pointer;font:inherit}.check-label{display:flex!important;grid-template:none!important;align-items:flex-start}.check-label input{width:auto;margin-top:2px}.form-error{padding:12px;border-left:4px solid #c62828;background:#fff0f0;color:#8f1d1d}.success-box{text-align:center;padding:35px 10px}.success-box .primary-button{margin-top:15px}.admin-body{background:#f4f7fb}.admin-shell{width:min(1180px,94%);margin:30px auto}.admin-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 3%;background:#062652;color:#fff}.admin-bar a{color:#fff}.admin-card{padding:25px;border:1px solid #dfe6ef;border-radius:9px;background:#fff}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:12px;border-bottom:1px solid #e5ebf2;text-align:left;font-size:13px}.admin-actions{display:flex;gap:10px}.admin-button{display:inline-block;padding:10px 14px;border:0;border-radius:5px;background:#0a4397;color:#fff;font-weight:700;cursor:pointer}.admin-button.green{background:#3bb425}.admin-button.danger{background:#b42318}.admin-form label{display:grid;gap:7px;margin-bottom:15px;font-weight:700}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.status-pill{display:inline-block;padding:4px 8px;border-radius:12px;background:#e8edf5;font-size:11px}.status-pill.published,.status-pill.new{background:#eaf7e6;color:#187b13}
@media(max-width:760px){.jobs-layout,.detail-layout{grid-template-columns:1fr}.filters{position:static}.two-cols,.admin-grid{grid-template-columns:1fr}.job-row{align-items:flex-start}.jobs-hero,.detail-hero{padding:38px 0}.detail-layout{padding-block:25px 45px}.admin-table{display:block;overflow-x:auto}}

/* Origine des annonces */
.job-row-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:7px}.job-row-tags .job-sector{margin:0}.job-publisher{display:inline-flex;align-items:center;min-height:24px;padding:4px 9px;border-radius:999px;background:#edf3fb;color:#315276;font-size:10px;font-weight:800;letter-spacing:.02em}.job-publisher.external{background:#eff9ec;color:#2c851f}.detail-publisher{display:flex;align-items:center;gap:12px;margin:18px 0 9px}.detail-publisher>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.publisher-logo{width:54px;height:54px;display:grid;place-items:center;border-radius:10px;background:#fff;box-shadow:0 6px 18px #00142c33;overflow:hidden}.publisher-logo img{width:100%;height:100%;object-fit:contain;padding:6px}.apply-publisher{padding:10px 12px;border-radius:8px;background:#f2f7fd;color:#52677f;font-size:12px}.apply-card small{display:block;margin-top:12px;color:#7b899a;font-size:11px;line-height:1.45}
