/* careers.css — the Careers page (vacancies, application form, status check).
   Shared by both school websites. Each site points the --cr-* variables at
   its own palette in the page's <style>; the defaults below are neutral. */
.cr-root{
  --cr-brand:#1e5f74; --cr-brand-dark:#194e5f; --cr-brand-light:#e4ecee; --cr-on-brand:#fff;
  --cr-text:#1f2937; --cr-muted:#64748b; --cr-border:#e2e8f0; --cr-surface:#fff; --cr-surface-alt:#f8fafc;
  --cr-radius:14px; --cr-radius-sm:9px;
  color:var(--cr-text); font-size:15px; line-height:1.6;
}
.cr-root *,.cr-root *::before,.cr-root *::after{box-sizing:border-box}
.cr-root [hidden]{display:none !important}
.cr-block{margin:0 0 40px}
.cr-h2{font-size:1.45rem;margin:0 0 16px;color:var(--cr-text)}
.cr-h3{font-size:1.05rem;margin:26px 0 14px;padding-top:18px;border-top:1px solid var(--cr-border);color:var(--cr-text)}
.cr-muted{color:var(--cr-muted)}
.cr-small{font-size:.85rem}
.cr-card{background:var(--cr-surface);border:1px solid var(--cr-border);border-radius:var(--cr-radius);padding:30px;box-shadow:0 2px 12px rgba(15,23,42,.05)}
@media (max-width:640px){.cr-card{padding:20px 16px}}

/* Vacancies */
.cr-vacancies{display:flex;flex-direction:column;gap:16px}
.cr-vacancy{background:var(--cr-surface);border:1px solid var(--cr-border);border-left:4px solid var(--cr-brand);border-radius:var(--cr-radius);padding:22px 24px}
.cr-vacancy-head{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:flex-start}
.cr-vacancy-title{margin:0 0 3px;font-size:1.15rem;color:var(--cr-text)}
.cr-vacancy-closing{font-size:.85rem;color:var(--cr-muted);background:var(--cr-surface-alt);border-radius:99px;padding:5px 12px;white-space:nowrap}
.cr-vacancy-summary{margin:12px 0 4px}
.cr-details{margin:6px 0 14px}
.cr-details summary{cursor:pointer;color:var(--cr-brand);font-weight:600;padding:6px 0;width:max-content}
.cr-details h4{margin:14px 0 6px;font-size:.95rem;color:var(--cr-text)}
.cr-details p{margin:8px 0}
.cr-list{margin:0;padding-left:20px}
.cr-list li{margin:3px 0}
.cr-empty{background:var(--cr-surface-alt);border:1px dashed var(--cr-border);border-radius:var(--cr-radius);padding:28px;text-align:center}
.cr-empty p{margin:8px 0 16px;color:var(--cr-muted)}
.cr-general-note{margin:4px 0 0}

/* Form */
.cr-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}
@media (max-width:640px){.cr-grid{grid-template-columns:1fr}}
.cr-field{margin-bottom:14px;min-width:0}
.cr-full{grid-column:1/-1}
.cr-field label{display:block;font-weight:600;font-size:.88rem;margin-bottom:6px;color:var(--cr-text)}
.cr-req{color:#dc2626}
.cr-input{width:100%;padding:11px 13px;font:inherit;font-size:.95rem;color:var(--cr-text);background:#fff;border:1px solid #cbd5e1;border-radius:var(--cr-radius-sm)}
.cr-input:focus{outline:none;border-color:var(--cr-brand);box-shadow:0 0 0 3px var(--cr-brand-light)}
input[type=file].cr-input{padding:9px}
textarea.cr-input{resize:vertical;min-height:120px}
.cr-hint{font-size:.8rem;color:var(--cr-muted);margin-top:5px}
.cr-hp{position:absolute !important;left:-10000px;width:1px;height:1px;overflow:hidden}
.cr-consent{display:flex;gap:10px;align-items:flex-start;margin:18px 0 20px;font-size:.9rem;cursor:pointer}
.cr-consent input{margin-top:4px;flex:0 0 auto}

/* Buttons */
.cr-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;font:inherit;font-weight:600;font-size:.95rem;border-radius:var(--cr-radius-sm);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s}
.cr-btn:disabled{opacity:.65;cursor:wait}
.cr-btn-primary{background:var(--cr-brand);color:var(--cr-on-brand)}
.cr-btn-primary:hover{background:var(--cr-brand-dark);color:var(--cr-on-brand)}
.cr-btn-outline{background:#fff;color:var(--cr-text);border-color:var(--cr-border)}
.cr-btn-outline:hover{border-color:var(--cr-brand);color:var(--cr-brand)}
.cr-btn-block{width:100%;padding:14px}

/* Messages */
.cr-alert{padding:13px 16px;border-radius:var(--cr-radius-sm);font-weight:600;font-size:.92rem;margin:0 0 18px}
.cr-alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}
.cr-alert-info{background:var(--cr-brand-light);color:var(--cr-brand-dark);border:1px solid var(--cr-border)}

/* Submitted */
.cr-done-head{text-align:center;margin-bottom:16px}
.cr-done-head h3{margin:8px 0 4px;font-size:1.3rem}
.cr-done-tick{width:54px;height:54px;margin:0 auto;border-radius:50%;background:var(--cr-brand);color:var(--cr-on-brand);font-size:1.7rem;line-height:54px}
.cr-ref-box{background:var(--cr-surface-alt);border:1px solid var(--cr-border);border-radius:var(--cr-radius);padding:20px;text-align:center;margin:0 0 14px}
.cr-ref-label{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cr-muted);font-weight:700;margin-bottom:6px}
.cr-ref{font-size:1.6rem;font-weight:800;letter-spacing:.06em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;word-break:break-all;margin-bottom:12px}
.cr-actions{display:flex;gap:10px;flex-wrap:wrap}
.cr-actions .cr-btn{flex:1;min-width:200px}

/* Track */
.cr-track-form{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 18px}
.cr-track-form .cr-input{flex:1;min-width:200px;letter-spacing:.04em}
.cr-result{border:1px solid var(--cr-border);border-radius:var(--cr-radius);padding:20px;background:var(--cr-surface)}
.cr-result p{margin:10px 0 0}
.cr-result-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start}
.cr-pill{display:inline-block;padding:4px 12px;border-radius:99px;font-size:.82rem;font-weight:700;white-space:nowrap}
.cr-pill-ok{background:#dcfce7;color:#166534}
.cr-pill-wait{background:#fef3c7;color:#92400e}
.cr-pill-no{background:#fee2e2;color:#991b1b}
.cr-interview{margin-top:12px;background:#fef3c7;border-radius:var(--cr-radius-sm);padding:12px 14px}
