:root {
  --navy: #0d2030;
  --navy-2: #132d40;
  --teal: #176f74;
  --teal-soft: #e8f3f3;
  --gold: #c5a25a;
  --gold-2: #e4cf9a;
  --ink: #16232c;
  --muted: #65727c;
  --line: #d9e0e4;
  --paper: #f6f8f9;
  --white: #ffffff;
  --green: #1e6a48;
  --green-bg: #e8f5ee;
  --amber: #8b5b0b;
  --amber-bg: #fff4da;
  --red: #9b2c2c;
  --red-bg: #fdebec;
  --shadow: 0 18px 50px rgba(13,32,48,.08);
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button, input { font: inherit; }
a { color: inherit; }
.shell { max-width: 1480px; margin: 0 auto; min-height: 100vh; padding: 30px 34px 26px; }
.masthead { display: flex; justify-content: space-between; gap: 24px; align-items: flex-start; padding: 28px 30px; color: var(--white); background: linear-gradient(135deg,var(--navy),var(--navy-2)); border-radius: 22px; box-shadow: var(--shadow); }
.masthead h1 { margin: 7px 0 8px; font-size: clamp(28px,4vw,46px); letter-spacing: -.035em; }
.masthead p { margin: 0; color: #c8d5dd; max-width: 850px; line-height: 1.55; }
.eyebrow { font-size: 12px; letter-spacing: .16em; font-weight: 800; color: var(--gold-2); }
main { margin-top: 24px; }
.panel, .status-card { background: var(--white); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); }
.panel { padding: 24px; margin-bottom: 22px; }
.login-panel { display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.login-panel h2, .panel h2, .status-card h2 { margin: 4px 0 8px; }
.login-panel p { color: var(--muted); margin: 0; }
.login-form { display: flex; gap: 10px; width: min(560px,100%); }
.login-form input { flex: 1; min-width: 0; border: 1px solid var(--line); border-radius: 11px; padding: 13px 14px; background: #fbfcfc; }
.button { border: 0; border-radius: 11px; padding: 12px 17px; font-weight: 800; cursor: pointer; transition: transform .12s ease, opacity .12s ease, box-shadow .12s ease; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
.button:hover { transform: translateY(-1px); }
.button:disabled { cursor: not-allowed; opacity: .55; transform: none; }
.button-primary { color: white; background: var(--teal); }
.button-secondary { color: var(--navy); background: #edf2f4; border: 1px solid #d6dfe4; }
.button-gold { color: var(--navy); background: linear-gradient(135deg,var(--gold-2),var(--gold)); width: 100%; box-shadow: 0 8px 24px rgba(197,162,90,.22); }
.summary-grid { display: grid; grid-template-columns: 1fr 1fr 1.2fr; gap: 18px; margin-bottom: 22px; }
.status-card { padding: 24px; min-height: 205px; }
.status-card p { color: var(--muted); line-height: 1.5; }
.highlight-card { background: linear-gradient(145deg,#10283a,#0d2030); color: white; border-color: #1d4057; }
.highlight-card p { color: #c9d4da; }
.flag-pill { width: fit-content; border-radius: 999px; padding: 5px 10px; background: var(--teal-soft); color: var(--teal); font-weight: 900; font-size: 12px; letter-spacing: .08em; }
.large-status { margin-top: 26px; font-size: 26px; font-weight: 900; color: var(--navy); }
.panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.panel-heading .eyebrow { color: var(--teal); }
.badge { border-radius: 999px; padding: 7px 11px; font-size: 12px; font-weight: 900; white-space: nowrap; }
.badge-muted { color: #52606b; background: #e9eef1; }
.badge-current { color: var(--green); background: var(--green-bg); }
.badge-review { color: var(--amber); background: var(--amber-bg); }
.badge-failed { color: var(--red); background: var(--red-bg); }
.progress-track { height: 12px; overflow: hidden; border-radius: 999px; background: #e7ecef; }
.progress-bar { height: 100%; background: linear-gradient(90deg,var(--teal),#36a5a1); transition: width .3s ease; }
.run-stats { display: flex; gap: 20px; flex-wrap: wrap; color: var(--muted); font-size: 14px; margin: 11px 0 18px; }
.result-list { display: grid; gap: 8px; }
.result-row { display: grid; grid-template-columns: 70px minmax(240px,1fr) 210px; gap: 12px; padding: 10px 12px; border: 1px solid #e5eaed; border-radius: 10px; align-items: center; }
.result-row .jurisdiction { font-weight: 900; color: var(--teal); }
.result-row .action { color: var(--muted); text-align: right; }
.table-wrap { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; font-size: 14px; }
th { background: var(--navy); color: white; text-align: left; padding: 11px 12px; white-space: nowrap; }
td { border-bottom: 1px solid #e3e8eb; padding: 11px 12px; vertical-align: top; }
tbody tr:hover { background: #f8fafb; }
.source-title { font-weight: 800; }
.source-link { color: var(--teal); font-size: 12px; word-break: break-all; }
.section-note { color: var(--muted); line-height: 1.5; }
.candidate-list { display: grid; gap: 14px; }
.empty-state { padding: 25px; border: 1px dashed #cbd5da; border-radius: 12px; text-align: center; color: var(--muted); }
.candidate { border: 1px solid var(--line); border-radius: 14px; padding: 18px; }
.candidate-top { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; }
.candidate h3 { margin: 3px 0 5px; }
.diff-grid { margin-top: 13px; display: grid; gap: 7px; }
.diff-row { display: grid; grid-template-columns: 180px 1fr 1fr; gap: 10px; font-size: 13px; }
.diff-row > div { background: #f7f9fa; border: 1px solid #e5eaed; border-radius: 8px; padding: 9px; overflow-wrap: anywhere; }
.diff-row .diff-key { font-weight: 900; background: #edf4f4; color: var(--teal); }
.candidate-actions { display: flex; gap: 9px; margin-top: 15px; }
.button-approve { background: var(--green-bg); color: var(--green); }
.button-reject { background: var(--red-bg); color: var(--red); }
.compact-panel { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.compact-panel p { margin-bottom: 0; color: var(--muted); }
code { background: #edf2f4; border-radius: 6px; padding: 2px 6px; }
.error-text { color: var(--red) !important; margin-top: 10px !important; }
footer { display: flex; justify-content: space-between; gap: 20px; color: #7a858c; font-size: 12px; padding: 8px 4px 0; }
@media (max-width: 900px) {
  .shell { padding: 18px; }
  .masthead, .login-panel, .compact-panel { flex-direction: column; align-items: stretch; }
  .summary-grid { grid-template-columns: 1fr; }
  .login-form { width: 100%; }
  .result-row { grid-template-columns: 50px 1fr; }
  .result-row .action { grid-column: 2; text-align: left; }
  .diff-row { grid-template-columns: 1fr; }
  footer { flex-direction: column; }
}

/* ===== Client-facing Candidate Profile V0.3 ===== */
.client-body { background: #f4f7f8; }
.client-shell { max-width: 1240px; margin: 0 auto; padding: 28px 28px 34px; min-height: 100vh; }
.narrow-shell { max-width: 1040px; }
.client-hero { background: radial-gradient(circle at 85% 20%, rgba(23,111,116,.36), transparent 28%), linear-gradient(135deg,#0d2030 0%,#132d40 62%,#0c3a42 100%); color:white; border-radius:26px; padding:44px; box-shadow:var(--shadow); }
.client-hero h1, .assessment-header h1 { margin:10px 0 14px; font-size:clamp(38px,6vw,68px); line-height:1.02; letter-spacing:-.045em; }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(280px,.7fr); gap:42px; align-items:end; }
.hero-lead { color:#d0dce2; max-width:780px; font-size:19px; line-height:1.65; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.button-large { padding:15px 22px; font-size:16px; }
.button-ghost { color:white; border:1px solid rgba(255,255,255,.24); background:rgba(255,255,255,.06); }
.hero-principle { padding:24px; border:1px solid rgba(255,255,255,.14); border-radius:18px; background:rgba(255,255,255,.06); backdrop-filter:blur(8px); }
.hero-principle strong { display:block; font-size:22px; line-height:1.25; margin:8px 0 10px; }
.hero-principle p { color:#d1dde2; line-height:1.55; margin-bottom:0; }
.mini-label,.section-kicker { color:var(--teal); font-size:11px; letter-spacing:.15em; font-weight:900; }
.hero-principle .mini-label { color:var(--gold-2); }
.client-panel { background:white; border:1px solid var(--line); border-radius:20px; padding:28px; margin-top:22px; box-shadow:var(--shadow); }
.client-panel h2 { color:var(--navy); font-size:28px; margin:6px 0 14px; letter-spacing:-.025em; }
.step-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:24px; }
.step-card { border:1px solid #e0e7ea; border-radius:16px; padding:20px; background:#fbfcfc; }
.step-card > span { width:36px; height:36px; display:grid; place-items:center; border-radius:999px; background:var(--teal-soft); color:var(--teal); font-weight:900; }
.step-card h3 { margin:18px 0 7px; color:var(--navy); }
.step-card p,.privacy-card p,.client-panel p { color:var(--muted); line-height:1.6; }
.two-col-panel { display:grid; grid-template-columns:1.1fr .9fr; gap:32px; }
.privacy-card { border-left:4px solid var(--gold); padding:22px; background:#faf9f5; border-radius:12px; }
.clean-list { padding-left:20px; color:#44535d; line-height:1.65; }
.clean-list li+li { margin-top:7px; }
.client-footer { display:flex; justify-content:space-between; padding:24px 4px 0; color:#72808a; font-size:13px; }
.client-footer a { color:var(--teal); text-decoration:none; }
.assessment-header { padding:26px 4px 10px; }
.assessment-header h1 { color:var(--navy); font-size:clamp(34px,5vw,56px); max-width:850px; }
.assessment-header > p { color:var(--muted); font-size:18px; line-height:1.6; max-width:850px; }
.back-link { display:inline-block; color:var(--teal); text-decoration:none; font-weight:800; margin-bottom:20px; }
.progress-steps { display:flex; gap:8px; flex-wrap:wrap; }
.progress-steps span { padding:7px 11px; border-radius:999px; background:#e8edf0; color:#63727c; font-size:12px; font-weight:850; }
.progress-steps span.active { background:var(--navy); color:white; }
.source-choice { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.choice-card,.option-card { border:1px solid #d9e1e5; border-radius:14px; background:#fbfcfc; padding:18px; cursor:pointer; transition:.15s ease; }
.choice-card { display:flex; flex-direction:column; gap:5px; }
.choice-card input,.option-card input { position:absolute; opacity:0; pointer-events:none; }
.choice-card.active-choice,.choice-card.selected,.option-card.selected,.option-card:has(input:checked) { border-color:var(--teal); box-shadow:0 0 0 3px rgba(23,111,116,.10); background:#f1f8f7; }
.choice-card strong { color:var(--navy); font-size:18px; }.choice-card span { color:var(--muted); }
.upload-form { margin-top:22px; }.form-block { border-top:1px solid #e6ecef; padding-top:22px; margin-top:22px; }
.field-label,.form-field label { display:block; color:var(--navy); font-weight:850; margin-bottom:8px; }
input[type=file],.wide-input,.form-field input,.form-field textarea,.form-field select,.salary-row input,.salary-row select,textarea { width:100%; border:1px solid #ccd7dc; border-radius:11px; padding:13px 14px; background:white; color:var(--ink); font:inherit; }
textarea { resize:vertical; line-height:1.5; }
.field-help,.question-help,.small-note { margin:7px 0 0!important; color:#75828a!important; font-size:13px!important; }
.consent-line { display:flex; gap:10px; align-items:flex-start; margin:22px 0; color:#53626b; line-height:1.45; }.consent-line input { margin-top:4px; }
.inline-alert { padding:13px 15px; border-radius:10px; margin:0 0 16px; }.inline-alert.danger { color:var(--red); background:var(--red-bg); }.inline-alert.information { color:#28546a; background:#e9f2f6; }
.form-grid.two-fields { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-field { margin-top:18px; }
.profile-mode { display:flex; gap:10px; align-items:center; color:var(--muted); margin-bottom:18px; }
.soft-panel { background:#f8fbfb; }.form-actions { display:flex; justify-content:flex-end; padding:22px 0 10px; }.split-actions { justify-content:space-between; }
.question-panel { position:relative; }.question-number { color:var(--gold); font-weight:950; letter-spacing:.1em; font-size:12px; }.question-panel h2 { max-width:800px; }
.option-grid { display:grid; gap:12px; margin-top:18px; }.three-options { grid-template-columns:repeat(3,1fr); }.two-options { grid-template-columns:repeat(2,1fr); }
.option-card { display:flex; flex-direction:column; justify-content:center; min-height:84px; }.option-card strong { color:var(--navy); }.option-card small { margin-top:4px; color:var(--muted); }
.status-options { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-top:18px; }.option-card.numbered { flex-direction:row; align-items:center; justify-content:flex-start; gap:13px; min-height:70px; }.option-card.numbered > span { flex:0 0 30px; height:30px; display:grid; place-items:center; border-radius:999px; background:#e7eef1; color:var(--teal); font-weight:950; }
.quick-picks { display:flex; gap:8px; flex-wrap:wrap; margin:14px 0 12px; }.quick-picks button { border:1px solid #d5dee2; background:#eef3f5; color:var(--navy); border-radius:999px; padding:8px 12px; font-weight:800; cursor:pointer; }
.inset-field { padding:15px; border-radius:12px; background:#f5f8f9; }.salary-row { display:grid; grid-template-columns:150px 1fr; gap:10px; max-width:550px; }.success-header { text-align:center; max-width:900px; margin:0 auto; }.success-header h1 { margin-inline:auto; }.success-header p { margin-inline:auto; }.success-mark { width:58px; height:58px; display:grid; place-items:center; border-radius:999px; background:var(--green-bg); color:var(--green); font-weight:950; font-size:30px; margin:10px auto 18px; }
.summary-header { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; }.summary-header h2 { margin-bottom:3px; }.summary-header p { margin-top:0; }
.fact-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:22px; }.fact-grid > div { padding:15px; border:1px solid #e2e8eb; border-radius:12px; background:#fafcfc; }.fact-grid span { display:block; color:#77848c; font-size:12px; margin-bottom:5px; }.fact-grid strong { color:var(--navy); overflow-wrap:anywhere; }.tag-wrap { display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }.tag-wrap span { padding:7px 10px; background:var(--teal-soft); color:var(--teal); border-radius:999px; font-size:12px; font-weight:800; }
@media(max-width:800px){.client-shell{padding:16px}.client-hero{padding:28px 22px}.hero-grid,.two-col-panel,.step-grid,.form-grid.two-fields,.three-options,.two-options,.status-options,.fact-grid{grid-template-columns:1fr}.source-choice{grid-template-columns:1fr}.client-footer,.summary-header{flex-direction:column}.salary-row{grid-template-columns:110px 1fr}.assessment-header h1{font-size:36px}}

.three-source-options{grid-template-columns:repeat(3,1fr)}
@media(max-width:800px){.three-source-options{grid-template-columns:1fr}}

/* ===== V0.4 Occupation matching ===== */
.four-step-grid{grid-template-columns:repeat(4,1fr)}
.occupation-overview{border-top:4px solid var(--teal)}
.occupation-class-summary{display:grid;grid-template-columns:1fr 210px;gap:24px;align-items:center}
.occupation-class-summary h2{font-size:34px;margin:6px 0 8px}
.occupation-stat{border:1px solid #dfe7ea;border-radius:14px;padding:18px;text-align:center;background:#fafcfc}.occupation-stat span{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}.occupation-stat strong{font-size:32px;color:var(--navy)}
.occupation-search-row{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:15px}
.occupation-card-list{display:grid;gap:12px;margin-top:18px}
.occupation-card{position:relative;display:block;border:1px solid #d8e1e5;border-radius:16px;padding:19px;background:#fff;cursor:pointer;transition:.15s ease}.occupation-card:hover{border-color:#9fbfc2}.occupation-card.selected,.occupation-card:has(input:checked){border-color:var(--teal);box-shadow:0 0 0 3px rgba(23,111,116,.10);background:#f7fbfb}.occupation-card input{position:absolute;opacity:0;pointer-events:none}
.occupation-card-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.occupation-card h3{font-size:21px;color:var(--navy);margin:5px 0 3px;line-height:1.25}.occupation-code{font-size:11px;font-weight:950;letter-spacing:.12em;color:var(--teal)}.occupation-category{margin:2px 0 0!important;font-size:13px!important;color:#71808a!important}.occupation-card-body p{margin:12px 0 0}.match-reason{font-size:13px!important}.confidence{white-space:nowrap;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900}.confidence-high{background:var(--green-bg);color:var(--green)}.confidence-medium{background:var(--amber-bg);color:var(--amber)}.confidence-possible{background:#edf1f3;color:#596771}
.occupation-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}.mini-source-badge{font-size:11px;font-weight:800;padding:5px 8px;border-radius:999px;background:var(--teal-soft);color:var(--teal)}
.occupation-source{border-top:1px solid #e6ecef;margin-top:14px;padding-top:11px;display:flex;justify-content:space-between;gap:14px;color:#73818a;font-size:12px}.occupation-source a{color:var(--teal);font-weight:800;text-decoration:none}.none-card{background:#fafbfb}.warning-panel{border-left:4px solid var(--gold);background:#fffdf8}.warning-panel p{margin-bottom:0}
.loading-state{padding:30px;text-align:center;color:var(--muted)}
.confirmed-occupation-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:18px}.confirmed-occupation{padding:16px;border:1px solid #dfe7ea;border-radius:12px;background:#fafcfc}.confirmed-occupation span{display:block;color:var(--teal);font-size:11px;font-weight:900;letter-spacing:.08em;margin-bottom:5px}.confirmed-occupation strong{display:block;color:var(--navy);line-height:1.35}.confirmed-occupation p{margin:6px 0 0!important;font-size:13px!important}
@media(max-width:900px){.four-step-grid{grid-template-columns:1fr 1fr}.occupation-class-summary{grid-template-columns:1fr}.occupation-stat{text-align:left}.occupation-search-row{grid-template-columns:1fr}.occupation-card-top,.occupation-source{flex-direction:column}.confirmed-occupation-grid{grid-template-columns:1fr}}
@media(max-width:620px){.four-step-grid{grid-template-columns:1fr}}

/* ===== V0.5 Professional route matching ===== */
.route-ready-panel{border-top:4px solid var(--gold);background:linear-gradient(180deg,#fffdf8,#fff)}
.route-options-shell{max-width:1160px}.options-header{padding-bottom:20px}.options-header .eyebrow{margin-top:18px;color:var(--teal);font-size:11px;font-weight:950;letter-spacing:.13em}.methodology-panel{border-top:4px solid var(--navy)}
.route-method-grid{display:grid;grid-template-columns:1fr 200px;gap:28px;align-items:center}.method-badge{border:1px solid #dfe7ea;background:#f7fbfb;border-radius:14px;padding:18px;text-align:center;color:var(--muted);line-height:1.45}.method-badge strong{display:block;color:var(--navy);font-size:20px;margin-top:4px}
.missing-facts{display:flex;justify-content:space-between;gap:24px;align-items:center;background:#f8fbfb;border-left:4px solid var(--teal)}.missing-facts>div:first-child span{display:block;color:var(--teal);font-size:11px;font-weight:950;letter-spacing:.1em;margin-bottom:5px}.missing-facts>div:first-child strong{color:var(--navy);font-size:18px}
.route-country-section{margin-top:34px}.country-heading{padding:0 4px 8px}.country-heading>div{display:flex;gap:13px;align-items:center}.country-heading h2{color:var(--navy);font-size:30px;margin:3px 0 0}.country-chip{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--navy);color:#fff;font-weight:950;letter-spacing:.04em}
.route-list{display:grid;gap:16px}.route-card{border:1px solid #dce4e8;border-radius:18px;background:#fff;padding:22px;box-shadow:0 8px 26px rgba(13,32,48,.04);position:relative;overflow:hidden}.route-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#9aa9b1}.route-positive:before{background:#2b8a65}.route-information:before{background:var(--teal)}.route-caution:before{background:var(--gold)}.route-danger:before{background:#b94b4b}.route-muted:before{background:#aab4b9}.route-card-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.route-card-head h3{font-size:25px;color:var(--navy);margin:5px 0 0;line-height:1.2}.route-jurisdiction{font-size:10px;font-weight:950;letter-spacing:.12em;color:var(--teal)}.route-band{max-width:290px;text-align:right;border-radius:999px;padding:7px 10px;background:#eef3f5;color:#53636c;font-size:11px;font-weight:950;letter-spacing:.02em}.route-positive .route-band{background:var(--green-bg);color:var(--green)}.route-information .route-band{background:var(--teal-soft);color:var(--teal)}.route-caution .route-band{background:var(--amber-bg);color:var(--amber)}.route-danger .route-band{background:var(--red-bg);color:var(--red)}
.route-summary{font-size:16px!important;color:#43535c!important;max-width:900px}.route-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.route-detail-grid section{border:1px solid #e4eaed;border-radius:13px;padding:16px;background:#fafcfc}.route-detail-grid h4{margin:0 0 10px;color:var(--navy);font-size:14px}.route-detail-grid ul{margin:0;padding-left:20px;color:#51616a;line-height:1.5}.route-detail-grid li+li{margin-top:6px}.career-action{margin-top:16px;padding:16px 18px;border-radius:13px;background:#0d2030;color:#fff}.career-action span{font-size:10px;letter-spacing:.12em;font-weight:950;color:#d6b76f}.career-action p{color:#eef4f5!important;margin:6px 0 0!important}.route-source{display:flex;justify-content:space-between;gap:18px;border-top:1px solid #e6ecef;margin-top:16px;padding-top:12px;font-size:12px;color:#77858d}.route-source a{color:var(--teal);font-weight:850;text-decoration:none}.route-source span{text-align:right}
.compact-route-list{margin-top:18px}.compact-route{box-shadow:none;padding:17px}.compact-route .route-card-head h3{font-size:19px}.compact-route p{margin-bottom:4px}.compact-route .route-source{margin-top:10px}.soft-panel details summary{cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;color:var(--navy)}.soft-panel details summary span{color:var(--muted);font-size:13px;font-weight:500}.legal-boundary{margin-top:26px}.next-report-panel{border-top:4px solid var(--teal);background:linear-gradient(180deg,#f8fbfb,#fff)}
@media(max-width:820px){.route-method-grid,.route-detail-grid{grid-template-columns:1fr}.route-card-head,.route-source,.missing-facts,.soft-panel details summary{flex-direction:column}.route-band{max-width:none;text-align:left}.route-source span{text-align:left}.method-badge{text-align:left}.country-heading h2{font-size:25px}}
.five-step-grid{grid-template-columns:repeat(5,1fr)}
@media(max-width:1050px){.five-step-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.five-step-grid{grid-template-columns:1fr}}

/* ===== V0.6 Career OS International Career Options Report ===== */
.report-shell{max-width:1180px}.report-topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}.report-actions{display:flex;gap:10px;flex-wrap:wrap}.report-cover{background:linear-gradient(135deg,#0d2030 0%,#153847 72%,#176f74 100%);color:#fff;border-radius:22px;padding:54px 50px;margin:8px 0 24px;min-height:330px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 18px 48px rgba(13,32,48,.16)}.report-brand{font-weight:950;letter-spacing:.16em;color:#d6b76f;font-size:13px}.report-kicker{font-size:12px;letter-spacing:.15em;margin-top:16px;color:#bcd6d8;font-weight:900}.report-cover h1{font-size:48px;max-width:780px;line-height:1.03;margin:12px 0 14px}.report-cover p{color:#e9f1f2;font-size:19px;margin:0}.report-cover-meta{display:flex;gap:18px;margin-top:28px;color:#cbd9dc;font-size:12px}.report-section{margin-top:20px}.report-section h2{font-size:29px}.report-lead{font-size:18px!important;line-height:1.65!important;max-width:980px}.executive-section{border-top:5px solid var(--gold)}.report-fact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px}.report-fact-grid>div{border:1px solid #e1e8eb;background:#fafcfc;border-radius:12px;padding:14px}.report-fact-grid span{display:block;color:#74828b;font-size:11px;margin-bottom:5px}.report-fact-grid strong{color:var(--navy);line-height:1.3}.table-wrap{overflow-x:auto}.comparison-table{width:100%;border-collapse:collapse;margin-top:18px;font-size:13px}.comparison-table th,.comparison-table td{padding:13px 14px;border-bottom:1px solid #e3eaed;vertical-align:top;text-align:left}.comparison-table thead th{background:var(--navy);color:#fff}.comparison-table tbody th{color:var(--navy);width:22%;background:#fafcfc}.report-two-column{display:grid;grid-template-columns:1fr 1fr;gap:20px}.report-list{margin:0;padding-left:20px;color:#4d5d66;line-height:1.55}.report-list li+li{margin-top:9px}.avoid-section{border-left:5px solid var(--gold)}.actions-section{border-top:5px solid var(--teal)}.action-steps{list-style:none;counter-reset:steps;margin:20px 0 0;padding:0;display:grid;gap:12px}.action-steps li{counter-increment:steps;display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:flex-start}.action-steps li span:before{content:counter(steps);width:38px;height:38px;border-radius:999px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:950}.action-steps p{margin:5px 0 0!important}.report-route-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:18px}.report-route-columns h3{color:var(--navy);font-size:20px}.report-route-mini{border:1px solid #dfe7ea;border-radius:13px;padding:15px;margin-top:10px;background:#fafcfc}.report-route-mini>div{display:flex;flex-direction:column;gap:4px}.report-route-mini span{font-size:10px;color:var(--teal);font-weight:950;letter-spacing:.08em}.report-route-mini strong{color:var(--navy)}.report-route-mini p{font-size:13px!important;margin:8px 0!important}.report-route-mini a,.source-row a{color:var(--teal);font-weight:850;text-decoration:none;font-size:12px}.source-list{display:grid;gap:9px;margin-top:18px}.source-row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #e4eaed;padding:10px 0}.source-row>div{display:flex;flex-direction:column;gap:3px}.source-row span{font-size:12px;color:#77858d}.source-row>div:last-child{text-align:right}.report-footer-block{margin:28px 0 10px;padding:20px 6px;border-top:1px solid #dce5e8;display:flex;gap:15px;justify-content:space-between;color:#6c7a83;font-size:12px}.report-footer-block strong{color:var(--navy)}
@media(max-width:850px){.report-cover{padding:36px 28px;min-height:280px}.report-cover h1{font-size:36px}.report-fact-grid{grid-template-columns:1fr 1fr}.report-two-column,.report-route-columns{grid-template-columns:1fr}.source-row,.report-footer-block{flex-direction:column}.source-row>div:last-child{text-align:left}.report-topbar{align-items:flex-start}}
@media(max-width:560px){.report-fact-grid{grid-template-columns:1fr}.report-cover h1{font-size:31px}.report-cover-meta{flex-direction:column;gap:4px}}
@media print{
  @page{size:A4;margin:14mm}
  body.report-body{background:#fff;color:#111}.report-shell{max-width:none;padding:0}.no-print,.client-footer{display:none!important}.report-cover{box-shadow:none;border-radius:0;min-height:220mm;break-after:page;-webkit-print-color-adjust:exact;print-color-adjust:exact}.client-panel{box-shadow:none;border:1px solid #d9e0e4;break-inside:avoid;margin-top:12px}.report-two-column{display:block}.report-two-column>.client-panel{break-inside:avoid}.report-route-columns{display:grid;grid-template-columns:1fr 1fr}.report-section h2{font-size:22px}.comparison-table{font-size:10px}.comparison-table th,.comparison-table td{padding:8px}.button{display:none!important}.career-action{-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-footer-block{break-inside:avoid}
}

/* ===== V0.7 UK Employer Intelligence ===== */
.employer-shell{max-width:1120px}.employer-context-panel{display:grid;grid-template-columns:1fr 220px;gap:28px;align-items:center;border-top:4px solid var(--teal)}
.employer-search-panel{border-top:4px solid var(--gold)}.employer-search-form{display:grid;grid-template-columns:1.35fr .85fr .9fr;gap:16px;align-items:end}.employer-search-form .form-actions{grid-column:1/-1;margin-top:4px}
.source-freshness-panel{display:flex;gap:24px;align-items:center;justify-content:space-between;border-left:4px solid var(--teal);background:#f7fbfb}.source-freshness-panel>div{display:flex;flex-direction:column;gap:4px}.source-freshness-panel span{font-size:10px;letter-spacing:.09em;font-weight:950;color:var(--teal)}.source-freshness-panel strong{color:var(--navy)}.source-freshness-panel a{color:var(--teal);font-weight:850;text-decoration:none}.freshness-aging{border-left-color:var(--gold);background:#fffaf1}.freshness-stale{border-left-color:#b94b4b;background:var(--red-bg)}
.employer-results{display:grid;gap:14px}.employer-card{border:1px solid #dce5e9;border-radius:17px;background:#fff;padding:20px;box-shadow:0 8px 24px rgba(13,32,48,.04)}.employer-card-main{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.employer-card-main h3{margin:4px 0;color:var(--navy);font-size:23px}.employer-card-main p{margin:0!important;color:var(--muted)!important}.register-status{font-size:10px;letter-spacing:.1em;color:var(--teal);font-weight:950}.match-score{font-size:11px;font-weight:900;background:var(--teal-soft);color:var(--teal);padding:7px 10px;border-radius:999px}.employer-meta-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;margin-top:17px}.employer-meta-grid>div{border:1px solid #e4eaed;background:#fafcfc;border-radius:12px;padding:13px}.employer-meta-grid span{display:block;color:#77858d;font-size:10px;margin-bottom:5px}.employer-meta-grid strong{color:var(--navy);font-size:13px;line-height:1.4}.employer-card-footer{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:15px;padding-top:13px;border-top:1px solid #e7ecef}.employer-card-footer>span{font-size:11px;color:#77858d}
.shortlist-panel{border-top:4px solid var(--navy)}.shortlist-heading{display:flex;justify-content:space-between;gap:26px;align-items:flex-start}.shortlist-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.text-button{border:0;background:transparent;color:var(--teal);font-weight:850;cursor:pointer;padding:8px}.empty-state,.empty-search-result{padding:18px;border-radius:12px;background:#f7f9fa;color:#6d7b83;margin-top:14px}.employer-shortlist-table td,.employer-shortlist-table th{vertical-align:top}.employer-career-action{margin-top:18px}.employer-report-section{border-top:4px solid var(--teal)}.employer-report-cta{border-top:4px solid var(--gold);background:linear-gradient(180deg,#fffdf8,#fff)}
@media(max-width:850px){.employer-context-panel,.employer-search-form,.employer-meta-grid{grid-template-columns:1fr}.employer-search-form .form-actions{grid-column:auto}.employer-card-main,.employer-card-footer,.shortlist-heading,.source-freshness-panel{flex-direction:column;align-items:flex-start}.match-score{align-self:flex-start}}
@media print{.employer-report-cta{display:none!important}.employer-report-section{break-inside:avoid}}
