/* Applicant portal styles. Layered on top of styles.css so the careers area
   inherits the site's palette, typography and header/footer chrome. */

.page-head{padding:64px 0 40px;background:radial-gradient(circle at 85% 25%,rgba(95,155,120,.22),transparent 30%),linear-gradient(135deg,#f8f5ed 0%,#eef5ef 100%)}
.page-head h1{font-size:clamp(2.4rem,5vw,4rem)}
.page-head p{max-width:760px;color:#4e5c56;font-size:1.08rem}
.page-head .topline{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;flex-wrap:wrap}

.panel{background:#fff;border:1px solid #d8e4db;border-radius:22px;padding:30px;box-shadow:var(--shadow)}
.panel h2{font-size:1.6rem;margin-top:0}
.panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}

.auth-form{display:grid;gap:14px;margin-top:6px}
.field{display:grid;gap:7px}
.field>span{font-weight:700;font-size:.9rem}
.field input,.field select,.field textarea{width:100%;border:1px solid #cad5ce;border-radius:12px;padding:12px 13px;font:inherit;background:#fff;color:inherit}
.field textarea{resize:vertical}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--green-700);outline-offset:1px}

.form-section{margin-top:38px}
.form-section>h2{font-size:1.7rem;margin-bottom:.2em}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form-grid.single{grid-template-columns:1fr}
fieldset.group{border:1px solid #d8e4db;border-radius:18px;padding:22px;margin:18px 0;background:#fcfdfc}
fieldset.group legend{font-weight:800;padding:0 10px;color:var(--green-900)}
.checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px}
.checks label,.check{display:flex;align-items:flex-start;gap:10px;font-weight:400;line-height:1.45}
.checks input,.check input{width:auto;margin-top:.28em;accent-color:var(--green-700)}
.check{margin:12px 0}

.notice{padding:15px 17px;background:#fff8ec;border:1px solid #f0dcb8;border-radius:14px;margin:20px 0;color:#5a4a2f}
.notice strong{color:#4a3b23}
.fine{font-size:.88rem;color:var(--muted)}
.required-note{font-size:.9rem;color:var(--muted)}

.status{margin:14px 0 0;padding:13px 15px;border-radius:12px;font-size:.94rem;display:none}
.status.show{display:block}
.status.error{background:#fdeceb;border:1px solid #f3c4c0;color:#8a2b22}
.status.success{background:var(--green-100);border:1px solid #bcd8c6;color:var(--green-900)}
.status.info{background:#eef4fb;border:1px solid #c6d8ee;color:#2b4a72}

.doc-list{display:grid;gap:16px;margin-top:18px}
.doc-row{display:grid;gap:8px;padding:18px;border:1px solid #d8e4db;border-radius:16px;background:#fcfdfc}
.doc-row>span:first-child{font-weight:700}
.doc-row input[type=file]{font:inherit;padding:9px;border:1px dashed #cad5ce;border-radius:12px;background:#fff;width:100%}
.doc-row .fine{margin:0}

.link-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px;border:1px solid var(--green-500);border-radius:18px;background:var(--green-100);text-decoration:none;color:var(--green-900);font-weight:700;transition:.2s ease}
.link-card:hover{transform:translateY(-1px);background:#dfeee5}
.link-card small{display:block;font-weight:400;color:#4e5c56;margin-top:4px}

.portal-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:18px 22px;border:1px solid #d8e4db;border-radius:16px;background:#fff;margin-bottom:26px}
.portal-bar .who{font-size:.94rem;color:var(--muted);margin:0}
.portal-bar .who strong{color:var(--green-900)}

.form-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:28px}
.link-button{background:none;border:0;padding:0;font:inherit;color:var(--green-700);font-weight:700;text-decoration:underline;cursor:pointer}
.gate{padding:70px 0;text-align:center}

@media (max-width:850px){.panel-grid{grid-template-columns:1fr}.checks{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.form-grid{grid-template-columns:1fr}.checks{grid-template-columns:1fr}.panel{padding:22px}}

/* ---- Training -------------------------------------------------------- */

.link-card.external{border-color:var(--green-700)}
.link-card.external strong{white-space:nowrap}

.training-launch{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;margin-top:26px;padding:26px 28px;border:1px solid var(--green-500);border-radius:22px;background:var(--green-100)}
.training-launch h3{margin:0 0 6px;color:var(--green-900);font-size:1.3rem}
.training-launch p{margin:0;max-width:52ch}
.training-launch-actions{display:flex;gap:12px;flex-wrap:wrap}
.training-url{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;word-break:break-all}

/* ---- Submission review dashboard ------------------------------------ */

.review-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,2fr) auto;gap:18px;align-items:end;padding:20px 22px;border:1px solid #d8e4db;border-radius:16px;background:#fff;margin-bottom:22px}
.review-toolbar .field{margin:0}

.review-list{display:grid;gap:16px;margin-top:16px}
.review-card{background:#fff;border:1px solid #d8e4db;border-left:4px solid var(--green-700);border-radius:18px;padding:22px 24px}
.review-card.is-reviewed{border-left-color:var(--line);background:#fcfdfc}
.review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap}
.review-heading h3{margin:8px 0 4px;font-family:"DM Sans",sans-serif;font-size:1.15rem;color:var(--green-900)}
.review-heading p{margin:0}
.review-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}

.badge{display:inline-block;padding:4px 11px;border-radius:999px;background:var(--green-100);color:var(--green-900);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.review-card.is-reviewed .badge{background:#eef1ef;color:var(--muted)}

.review-card details{margin-top:16px;border-top:1px solid var(--line);padding-top:14px}
.review-card summary{cursor:pointer;font-weight:700;font-size:.9rem;color:var(--green-700)}
.review-card summary::marker{color:var(--green-500)}

.review-fields{width:100%;border-collapse:collapse;margin-top:14px;font-size:.94rem}
.review-fields th{text-align:left;vertical-align:top;padding:6px 16px 6px 0;font-size:.82rem;font-weight:700;color:var(--muted);white-space:nowrap}
.review-fields td{vertical-align:top;padding:6px 0;white-space:pre-wrap;word-break:break-word}

.review-files{margin-top:18px}
.review-files h4{margin:0 0 8px;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.file-list{margin:0;padding-left:20px;font-size:.94rem;display:grid;gap:5px}
.file-list a{color:var(--green-700);font-weight:700}
.file-label{color:var(--muted)}
.review-email-status{margin-top:16px}

@media (max-width:850px){.review-toolbar{grid-template-columns:1fr}.training-launch{flex-direction:column;align-items:flex-start}}
.portal-bar-actions{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}
