/* PBALink Emploi - suivi candidatures V12 */
.jobs-applications-hero{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.jobs-applications-hero>div{min-width:0;flex:1 1 520px}
.jobs-applications-hero h1{margin:.35rem 0 .55rem}
.jobs-applications-hero .btn{flex:0 0 auto}

.jobs-app-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0}
.jobs-app-kpis .card{padding:18px;min-width:0}
.jobs-app-kpis strong{display:block;font-size:2rem;color:#102a4f}
.jobs-app-kpis span{color:#64748b;font-weight:700}

.jobs-app-list{display:grid;gap:16px}
.jobs-app-row{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(360px,480px) !important;
  gap:24px !important;
  align-items:start !important;
  padding:24px !important;
  border:1px solid #dbe4ef !important;
  border-radius:22px !important;
  background:#fff !important;
  box-shadow:0 10px 30px rgba(15,35,77,.06)
}
.jobs-app-main{min-width:0 !important}
.jobs-app-main h3{margin:14px 0 10px !important;font-size:1.45rem !important;line-height:1.28 !important;overflow-wrap:anywhere}
.jobs-app-main h3 a{color:#0f172a !important;text-decoration:none !important}
.jobs-app-main h3 a:hover{color:#1d4ed8 !important}
.jobs-app-main .job-company{font-size:1.05rem;font-weight:900;color:#334155;margin-bottom:8px;overflow-wrap:anywhere}
.jobs-app-main .meta{color:#64748b;line-height:1.5;overflow-wrap:anywhere}

.job-application-status{display:inline-flex!important;align-items:center;max-width:100%;padding:8px 13px!important;border-radius:999px!important;font-weight:900!important;font-size:.82rem!important;line-height:1.25!important;border:1px solid transparent;white-space:normal!important}
.job-application-status.opened{background:#fff7ed;color:#9a3412;border-color:#fdba74}
.job-application-status.applied,.job-application-status.pending{background:#fff7ed;color:#9a3412;border-color:#fdba74}
.job-application-status.verified{background:#ecfdf5;color:#047857;border-color:#86efac}
.job-application-status.interview{background:#faf5ff;color:#7e22ce;border-color:#e9d5ff}
.job-application-status.accepted{background:#ecfdf5;color:#047857;border-color:#a7f3d0}
.job-application-status.refused{background:#fef2f2;color:#b91c1c;border-color:#fecaca}
.job-application-status.withdrawn{background:#f8fafc;color:#475569;border-color:#cbd5e1}
.job-application-status.proof-rejected{background:#fff1f2;color:#be123c;border-color:#fecdd3}

.jobs-app-row .job-actions{
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  gap:12px!important;
  align-content:start!important;
  margin:0!important;
}
.jobs-app-row .job-actions>form{margin:0!important;max-width:none!important}

.jobs-proof-form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:12px!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:18px!important;
  border:1px solid #cbdcf5!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#f8fbff 0%,#f4f8ff 100%)!important;
  box-sizing:border-box!important
}
.jobs-proof-title{display:flex;align-items:center;gap:9px;color:#102a4f;font-size:1.05rem;font-weight:950}
.jobs-proof-title::before{content:"✓";display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#dbeafe;color:#1d4ed8;font-weight:950;flex:0 0 28px}
.jobs-proof-copy{margin:-2px 0 2px;color:#64748b;font-size:.9rem;line-height:1.5}

.jobs-proof-form label{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:7px!important;margin:0!important;padding:0!important;color:#1e293b!important;font-weight:850!important;line-height:1.35!important}
.jobs-proof-form input[type=file],
.jobs-proof-form input[type=text]{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;margin:0!important;padding:11px 12px!important;border:1px solid #cbd5e1!important;border-radius:11px!important;background:#fff!important;color:#0f172a!important;font:inherit!important}
.jobs-proof-form input[type=file]{padding:8px!important}
.jobs-proof-form input[type=file]::file-selector-button{margin-right:10px;border:0;border-radius:9px;padding:10px 12px;background:#e8efff;color:#173a75;font-weight:900;cursor:pointer}
.jobs-proof-form input[type=file]::file-selector-button:hover{background:#dbe7ff}
.jobs-proof-form input[type=text]::placeholder{color:#94a3b8}
.jobs-proof-form small{display:block!important;color:#64748b!important;line-height:1.45!important;font-size:.84rem!important;margin:0!important}

.jobs-proof-attest{
  display:grid!important;
  grid-template-columns:20px minmax(0,1fr)!important;
  align-items:start!important;
  gap:9px!important;
  padding:11px 12px!important;
  border-radius:11px!important;
  background:#fff!important;
  border:1px solid #dbe4ef!important;
  font-size:.88rem!important;
  font-weight:750!important;
  cursor:pointer
}
.jobs-proof-attest input{width:18px!important;height:18px!important;margin:1px 0 0!important;padding:0!important;accent-color:#2563eb}
.jobs-proof-attest span{min-width:0}

.jobs-proof-form .btn{width:100%!important;min-height:48px!important;margin:0!important;padding:12px 16px!important;border-radius:12px!important;font-size:.98rem!important;font-weight:900!important}
.jobs-app-row .job-actions>form:not(.jobs-proof-form) .btn{width:100%!important;min-height:46px!important;margin:0!important;border-radius:12px!important}

.jobs-proof-line{margin-top:10px;font-weight:850}
.jobs-proof-state{margin-top:10px;padding:10px 12px;border-radius:11px;font-size:.88rem;font-weight:850;line-height:1.4}
.jobs-proof-state.pending{background:#fff7ed;color:#9a3412}
.jobs-proof-state.rejected{background:#fff1f2;color:#be123c}
.jobs-proof-state.verified{background:#ecfdf5;color:#047857}
.jobs-proof-warning{margin:16px 0;padding:16px;border:1px solid #f59e0b;background:#fffbeb;color:#92400e;border-radius:14px}
.jobs-proof-cta{display:grid;gap:8px;margin-top:10px;padding:12px;border:1px solid #dbeafe;border-radius:14px;background:#f8fbff}
.jobs-proof-cta span{color:#64748b;font-size:.9rem;line-height:1.4}

@media(max-width:1050px){
  .jobs-app-row{grid-template-columns:minmax(0,1fr) minmax(320px,420px)!important;gap:18px!important;padding:20px!important}
  .jobs-app-main h3{font-size:1.28rem!important}
}

@media(max-width:860px){
  .jobs-app-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jobs-app-row{grid-template-columns:1fr!important;gap:16px!important}
  .jobs-app-row .job-actions{width:100%!important}
  .jobs-proof-form{padding:16px!important}
}

@media(max-width:600px){
  .jobs-applications-hero{align-items:flex-start}
  .jobs-applications-hero>div{flex-basis:100%}
  .jobs-applications-hero .btn{width:100%}
  .jobs-app-kpis{grid-template-columns:1fr 1fr;gap:9px}
  .jobs-app-kpis .card{padding:13px}
  .jobs-app-kpis strong{font-size:1.45rem}
  .jobs-app-kpis span{font-size:.78rem;line-height:1.25}
  .jobs-section{padding:12px!important}
  .jobs-app-list{gap:12px}
  .jobs-app-row{padding:15px!important;border-radius:17px!important;gap:14px!important}
  .jobs-app-main h3{font-size:1.08rem!important;margin:11px 0 8px!important}
  .jobs-app-main .job-company{font-size:.94rem}
  .jobs-app-main .meta{font-size:.86rem}
  .job-application-status{font-size:.75rem!important;padding:7px 10px!important}
  .jobs-proof-form{padding:13px!important;border-radius:14px!important;gap:10px!important}
  .jobs-proof-title{font-size:.98rem}
  .jobs-proof-copy{font-size:.84rem}
  .jobs-proof-form input[type=file]::file-selector-button{display:block;margin:0 0 7px 0;width:100%}
  .jobs-proof-form .btn,.jobs-app-row .job-actions>form:not(.jobs-proof-form) .btn{width:100%!important}
}

@media(max-width:390px){
  .jobs-app-kpis{grid-template-columns:1fr}
  .jobs-app-row{padding:12px!important}
}
