:root {
  --canvas: #ffffff;
  --canvas-soft: #f6f9fc;
  --surface: #ffffff;
  --ink: #0d253d;
  --ink-2: #273951;
  --ink-mute: #5a6b82;
  --ink-faint: #8b9bb0;
  --hairline: #e3e8ee;
  --hairline-strong: #c6d0dd;
  --primary: #533afd;
  --primary-soft: #665efd;
  --primary-bg: #eeedfe;
  --violet: #7b3ff2;
  --teal: #2a9d99;
  --success: #12a551;
  --warning: #d97706;
  --danger: #e14b3c;
  --mesh-1: #e0e7ff;
  --mesh-2: #f3e8ff;
  --mesh-3: #d9f3e1;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 18px;
  --radius-pill: 999px;
  --shadow-sm: 0 1px 2px rgba(13,37,61,.06);
  --shadow-md: 0 4px 16px rgba(13,37,61,.09);
  --shadow-lg: 0 10px 30px rgba(13,37,61,.12);
  --font: 'Inter', 'SF Pro Display', -apple-system, system-ui, 'Segoe UI', Roboto, sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;
}

/* ===== DARK MODE (via data-theme op <html>) ===== */
[data-theme="dark"] {
  color-scheme: dark;
  --canvas: #0e1116;
  --canvas-soft: #141922;
  --surface: #161b23;
  --ink: #f2f5fa;
  --ink-2: #d6dde8;
  --ink-mute: #8b97a8;
  --ink-faint: #5c6675;
  --hairline: #232a35;
  --hairline-strong: #343e4c;
  --primary: #8b7bff;
  --primary-soft: #a295ff;
  --primary-bg: #2a2a4a;
  --violet: #a78bfa;
  --teal: #34d3c2;
  --success: #34d399;
  --warning: #fbbf24;
  --danger: #f87171;
  --mesh-1: rgba(88,80,236,.18);
  --mesh-2: rgba(167,139,250,.14);
  --mesh-3: rgba(52,211,194,.12);
  --shadow-sm: 0 1px 2px rgba(0,0,0,.3);
  --shadow-md: 0 4px 16px rgba(0,0,0,.35);
  --shadow-lg: 0 10px 30px rgba(0,0,0,.45);
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { height: 100%; }
body {
  font-family: var(--font); background: var(--canvas); color: var(--ink);
  min-height: 100vh; display: flex; flex-direction: column;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
  font-feature-settings: "ss01";
}
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ===== hero gradient mesh (achter de nav + bovenste pagina) ===== */
.hero-mesh {
  position: fixed; top: 0; left: 0; right: 0; height: 480px; z-index: -1; overflow: hidden;
  pointer-events: none;
}
.hero-mesh .blob { position: absolute; border-radius: 50%; filter: blur(70px); opacity: .55; }
.hero-mesh .b1 { width: 520px; height: 420px; background: var(--mesh-1); top: -120px; left: -80px; }
.hero-mesh .b2 { width: 460px; height: 380px; background: var(--mesh-2); top: -100px; left: 42%; }
.hero-mesh .b3 { width: 420px; height: 360px; background: var(--mesh-3); top: -140px; right: -60px; }

/* ===== topnav ===== */
.topnav {
  position: sticky; top: 0; z-index: 50; display: flex; align-items: center; justify-content: space-between;
  height: 60px; padding: 0 28px; background: rgba(255,255,255,.82); backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--hairline);
}
.brand { font-size: 18px; font-weight: 700; letter-spacing: -.02em; color: var(--ink); display: flex; align-items: center; gap: 10px; }
.brand .logo {
  width: 26px; height: 26px; border-radius: 8px;
  background: linear-gradient(135deg, var(--primary), var(--violet), var(--teal));
  display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: 12px; color: #fff;
  box-shadow: 0 2px 8px rgba(83,58,253,.35);
}
.brand .mark { background: linear-gradient(135deg, var(--primary), var(--violet)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.nav-actions { display: flex; align-items: center; gap: 14px; }
.status-dot { display: inline-flex; align-items: center; gap: 7px; color: var(--ink-mute); font-size: 12.5px; font-weight: 600; }
.status-dot::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--success); box-shadow: 0 0 0 3px rgba(18,165,81,.18); }
.linkedin-btn {
  display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border: 1px solid var(--hairline-strong);
  border-radius: var(--radius-pill); color: #0a66c2; font-size: 13px; font-weight: 600; cursor: pointer;
  background: var(--canvas); box-shadow: var(--shadow-sm); transition: all .15s;
}
.linkedin-btn:hover { border-color: #0a66c2; background: #f3f8fc; box-shadow: var(--shadow-md); }

/* ===== theme toggle ===== */
.theme-toggle {
  width: 36px; height: 36px; border-radius: var(--radius-pill); border: 1px solid var(--hairline-strong);
  background: var(--canvas); color: var(--ink-2); display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer; transition: all .15s; box-shadow: var(--shadow-sm);
}
.theme-toggle:hover { border-color: var(--primary); color: var(--primary); box-shadow: var(--shadow-md); }
/* licht modus: toon maan-icoon (klik -> dark) */
.theme-toggle .icon-moon { display: block; }
.theme-toggle .icon-sun { display: none; }
/* dark modus: toon zon-icoon (klik -> licht) */
[data-theme="dark"] .theme-toggle .icon-moon { display: none; }
[data-theme="dark"] .theme-toggle .icon-sun { display: block; }

/* ===== layout ===== */
.wrap {
  flex: 1; width: 100%; max-width: 1100px; margin: 0 auto; padding: 34px 24px 56px;
  display: grid; grid-template-columns: 390px 1fr; gap: 26px; align-items: start;
}
@media (max-width: 920px) { .wrap { grid-template-columns: 1fr; padding: 20px 16px 44px; } }

/* ===== panels ===== */
.profile-card, .results-card, .scan-card {
  background: var(--surface); border: 1px solid var(--hairline); border-radius: var(--radius-xl);
  box-shadow: var(--shadow-sm); position: relative;
}
.profile-card, .results-card { padding: 26px; }

/* scan-gegevens (volle breedte boven de grid) */
.scan-card {
  grid-column: 1 / -1;
  padding: 0; overflow: hidden;
}
.scan-toggle {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 14px 20px; background: none; border: none; cursor: pointer; font-family: var(--font);
  color: var(--ink-2); font-size: 14px; font-weight: 600; text-align: left;
}
.scan-toggle:hover { background: var(--canvas-soft); }
.scan-title { display: inline-flex; align-items: center; gap: 9px; }
.scan-title svg { color: var(--primary); }
.scan-summary { font-size: 12.5px; font-weight: 500; color: var(--ink-mute); flex: 1; text-align: right; padding-right: 4px; }
.scan-card .chev { color: var(--ink-faint); transition: transform .2s; }
.scan-card.open .chev { transform: rotate(180deg); }
.scan-body { border-top: 1px solid var(--hairline); padding: 16px 20px; background: var(--canvas-soft); }
.scan-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px;
}
.scan-tile {
  background: var(--canvas); border: 1px solid var(--hairline); border-radius: var(--radius-md);
  padding: 12px 14px; box-shadow: var(--shadow-sm);
}
.scan-tile .st-src { font-size: 12px; font-weight: 700; color: var(--ink); text-transform: capitalize; }
.scan-tile .st-count { font-size: 20px; font-weight: 700; color: var(--primary); margin: 4px 0 2px; }
.scan-tile .st-count small { font-size: 11px; color: var(--ink-faint); font-weight: 500; }
.scan-tile .st-meta { font-size: 11px; color: var(--ink-mute); line-height: 1.4; }
.scan-tile .st-badge {
  display: inline-block; font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
  padding: 1px 7px; border-radius: var(--radius-pill); margin-top: 6px;
}
.scan-tile .st-badge.ok { background: #e8f7ee; color: #0a8a3f; }
.scan-tile .st-badge.error { background: #fdeeee; color: #d33423; }
.scan-tile .st-badge.never { background: #eef1f5; color: #64748d; }
.scan-run {
  display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--hairline); font-size: 12.5px; color: var(--ink-mute);
}
.scan-run:last-child { border-bottom: none; }
.scan-run .sr-src { font-weight: 700; color: var(--ink); text-transform: capitalize; }
.scan-run .sr-status { font-weight: 600; }
.scan-run .sr-status.ok { color: var(--success); }
.scan-run .sr-status.error { color: var(--danger); }
.scan-run .sr-time { margin-left: auto; font-size: 11.5px; color: var(--ink-faint); }
.scan-sub { font-size: 11.5px; font-weight: 700; color: var(--ink-faint); text-transform: uppercase; letter-spacing: .05em; margin: 14px 0 6px; }
.scan-loading { color: var(--ink-mute); font-size: 13px; }
.results-card { position: sticky; top: 76px; }
@media (max-width: 920px) { .results-card { position: static; } }

.eyebrow { font-size: 12.5px; font-weight: 700; color: var(--primary); letter-spacing: .09em; text-transform: uppercase; margin-bottom: 10px; }
.profile-card h1 { font-size: 26px; font-weight: 700; letter-spacing: -.025em; color: var(--ink); margin-bottom: 8px; }
.sub { color: var(--ink-mute); font-size: 14px; line-height: 1.6; margin-bottom: 8px; }

/* ===== form ===== */
label { display: block; font-size: 12.5px; font-weight: 600; color: var(--ink-2); margin: 18px 0 7px; letter-spacing: .02em; }
.hint { text-transform: none; letter-spacing: 0; font-weight: 400; color: var(--ink-faint); font-size: 11.5px; }
input[type=text], input[type=number], select {
  width: 100%; padding: 11px 14px; background: var(--canvas-soft); border: 1px solid var(--hairline-strong);
  border-radius: var(--radius-md); color: var(--ink); font-size: 14px; font-family: var(--font);
  transition: border-color .15s, box-shadow .15s, background .15s;
}
select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2364748d' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 13px center; }
input::placeholder { color: var(--ink-faint); }
input:focus, select:focus { outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px rgba(83,58,253,.16); background: var(--canvas); }
.row { display: flex; gap: 12px; }
.col { flex: 1; }

/* ===== chips ===== */
.chips-input {
  display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding: 8px; background: var(--canvas-soft);
  border: 1px solid var(--hairline-strong); border-radius: var(--radius-md); min-height: 44px; cursor: text;
  transition: border-color .15s, box-shadow .15s, background .15s;
}
.chips-input:focus-within { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(83,58,253,.16); background: var(--canvas); }
.chips-input input { flex: 1; min-width: 90px; border: none; outline: none; background: transparent; padding: 3px 4px; font-size: 14px; }
.chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chip {
  display: inline-flex; align-items: center; gap: 6px; border-radius: var(--radius-pill);
  padding: 5px 10px 5px 12px; font-size: 12.5px; font-weight: 600; border: 1px solid transparent;
}
.chip.c1 { background: var(--primary-bg); color: #4338ca; border-color: #ddd6fe; }
.chip.c2 { background: #e0f2f1; color: #0f766e; border-color: #ccfbf1; }
.chip.c3 { background: #f3e8ff; color: #7b3ff2; border-color: #e9d5ff; }
.chip.c4 { background: #fff1e6; color: #c2410c; border-color: #ffedd5; }
.chip.c5 { background: #fee2e2; color: #b91c1c; border-color: #fecaca; }
.chip.c6 { background: #eff6ff; color: #2563eb; border-color: #dbeafe; }
.chip-x { background: none; border: none; color: inherit; cursor: pointer; font-size: 15px; line-height: 1; padding: 0 2px; opacity: .65; }
.chip-x:hover { opacity: 1; }
.suggest { margin-top: 7px; display: flex; flex-wrap: wrap; gap: 6px; }
.sug-item {
  background: var(--canvas); border: 1px solid var(--hairline-strong); color: var(--ink-2);
  border-radius: var(--radius-pill); padding: 7px 13px; font-size: 12.5px; cursor: pointer; font-family: var(--font);
  font-weight: 500; transition: all .12s; box-shadow: var(--shadow-sm);
}
.sug-item:hover { border-color: var(--primary); color: var(--primary); box-shadow: var(--shadow-md); }

/* ===== segmented ===== */
.seg { display: flex; background: var(--canvas-soft); border: 1px solid var(--hairline); border-radius: var(--radius-md); padding: 3px; gap: 2px; }
.seg button {
  flex: 1; padding: 8px 6px; border: none; background: transparent; color: var(--ink-mute);
  font-size: 12.5px; font-weight: 600; border-radius: 8px; cursor: pointer; font-family: var(--font);
  transition: all .12s; white-space: nowrap;
}
.seg button.on { background: var(--canvas); color: var(--ink); box-shadow: var(--shadow-sm); border: 1px solid var(--hairline); }
.seg-sm button { font-size: 12px; padding: 7px 10px; }

/* ===== slider ===== */
input[type=range] { -webkit-appearance: none; width: 100%; height: 6px; border-radius: 6px; background: linear-gradient(90deg, var(--primary), var(--violet)); outline: none; margin: 16px 0 4px; }
input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 20px; height: 20px; border-radius: 50%; background: #fff; cursor: pointer; border: 3px solid var(--primary); box-shadow: var(--shadow-md); }

/* ===== check ===== */
.check { display: flex; align-items: center; gap: 10px; color: var(--ink-2); text-transform: none; letter-spacing: 0; font-size: 13.5px; margin-top: 18px; cursor: pointer; font-weight: 500; }
.check input { width: 17px; height: 17px; accent-color: var(--primary); cursor: pointer; }

/* ===== primary CTA ===== */
.btn-primary {
  display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; margin-top: 24px; padding: 14px 20px;
  background: linear-gradient(135deg, var(--primary), var(--violet)); color: #fff; border: none;
  border-radius: var(--radius-pill); font-size: 15px; font-weight: 600; cursor: pointer; font-family: var(--font);
  letter-spacing: .01em; transition: all .18s; box-shadow: 0 4px 14px rgba(83,58,253,.3);
}
.btn-primary:hover { transform: translateY(-1px); box-shadow: 0 8px 24px rgba(83,58,253,.38); filter: brightness(1.05); }
.btn-primary:active { transform: translateY(0); }
.btn-primary:disabled { opacity: .5; cursor: not-allowed; box-shadow: none; }
.btn-primary svg { transition: transform .15s; }
.btn-primary:hover svg { transform: translateX(3px); }

/* ===== linkedin CTA ===== */
.linkedin-cta {
  display: flex; align-items: center; gap: 12px; margin-top: 18px; padding: 14px 16px;
  background: #f3f8fc; border: 1px solid #d6e4f0; border-radius: var(--radius-lg); cursor: pointer;
  transition: all .15s;
}
.linkedin-cta:hover { background: #eaf3fa; border-color: #0a66c2; box-shadow: var(--shadow-sm); }
.linkedin-cta .li-icon { width: 34px; height: 34px; border-radius: 9px; background: #0a66c2; display: flex; align-items: center; justify-content: center; color: #fff; flex-shrink: 0; }
.linkedin-cta strong { display: block; color: var(--ink); font-size: 13.5px; font-weight: 700; margin-bottom: 2px; }
.linkedin-cta span { font-size: 12px; line-height: 1.45; color: var(--ink-mute); }

/* ===== sollicitatie-tools ===== */
.tools-block { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--hairline); }
.tools-title { display: flex; align-items: center; gap: 9px; font-size: 12.5px; font-weight: 700; color: var(--ink-2); text-transform: uppercase; letter-spacing: .04em; margin-bottom: 10px; }
.tools-title svg { color: var(--primary); }
.tools-actions { display: flex; flex-direction: column; gap: 8px; }
.tool-btn {
  display: flex; align-items: center; gap: 9px; padding: 10px 14px; border-radius: var(--radius-md);
  border: 1px solid var(--hairline-strong); background: var(--canvas); color: var(--primary); font-size: 13px;
  font-weight: 600; cursor: pointer; font-family: var(--font); box-shadow: var(--shadow-sm); transition: all .15s;
}
.tool-btn:hover { border-color: var(--primary); box-shadow: var(--shadow-md); transform: translateY(-1px); }
.tool-btn:disabled { opacity: .5; cursor: not-allowed; transform: none; }
.tool-btn-mute { color: var(--ink-2); }
.tool-btn-mute:hover { border-color: var(--primary); color: var(--primary); }

/* match-item cover-knop */
.cover-btn {
  display: inline-flex; align-items: center; gap: 6px; background: none; border: none; color: var(--ink-mute);
  font-size: 12.5px; font-weight: 600; cursor: pointer; font-family: var(--font); padding: 4px 8px; border-radius: 8px; transition: all .12s;
}
.cover-btn:hover { color: var(--primary); background: var(--primary-bg); }

/* ===== modal ===== */
.modal {
  position: fixed; inset: 0; z-index: 200; background: rgba(13,37,61,.45);
  display: flex; align-items: center; justify-content: center; padding: 20px; backdrop-filter: blur(3px);
}
.modal[hidden] { display: none; }
.modal-card {
  background: var(--canvas); border: 1px solid var(--hairline); border-radius: var(--radius-xl);
  width: 100%; max-width: 620px; max-height: 86vh; display: flex; flex-direction: column; box-shadow: var(--shadow-lg); outline: none;
}
.modal-head { display: flex; align-items: center; justify-content: space-between; padding: 18px 22px; border-bottom: 1px solid var(--hairline); }
.modal-head h3 { font-size: 17px; font-weight: 700; color: var(--ink); }
.modal-close { background: none; border: none; font-size: 26px; color: var(--ink-mute); cursor: pointer; line-height: 1; padding: 0 4px; }
.modal-close:hover { color: var(--ink); }
.modal-body { padding: 18px 22px; overflow-y: auto; flex: 1; }
.tool-output {
  white-space: pre-wrap; word-wrap: break-word; font-family: var(--mono); font-size: 12.5px; line-height: 1.55;
  color: var(--ink-2); background: var(--canvas-soft); border: 1px solid var(--hairline); border-radius: var(--radius-md); padding: 14px;
}
.modal-foot { display: flex; gap: 10px; padding: 14px 22px; border-top: 1px solid var(--hairline); justify-content: flex-end; }
.btn-copy {
  padding: 9px 18px; border-radius: var(--radius-pill); border: none; background: linear-gradient(135deg, var(--primary), var(--violet));
  color: #fff; font-size: 13px; font-weight: 600; cursor: pointer; font-family: var(--font); box-shadow: 0 2px 8px rgba(83,58,253,.3); transition: all .15s;
}
.btn-copy:hover { filter: brightness(1.06); }
.btn-copy-muted { background: var(--canvas); color: var(--ink-2); border: 1px solid var(--hairline-strong); box-shadow: none; }
.btn-copy-muted:hover { border-color: var(--primary); color: var(--primary); filter: none; }

/* ===== results ===== */
.results-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.results-head h2 { font-size: 20px; font-weight: 700; letter-spacing: -.02em; }
.count-pill { background: var(--primary-bg); padding: 6px 14px; border-radius: var(--radius-pill); font-size: 12.5px; font-weight: 700; color: #4338ca; font-family: var(--mono); }

.summary-strip { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.sum-item { font-size: 12.5px; font-weight: 500; color: var(--ink-2); background: var(--canvas-soft); border: 1px solid var(--hairline); padding: 6px 12px; border-radius: var(--radius-pill); }
.sum-item:empty { display: none; }
.sum-item strong { color: var(--primary); }

.sortbar { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.sort-label { font-size: 12.5px; color: var(--ink-faint); font-weight: 600; }
.sortbar .seg { flex: 1; }

.status { color: var(--ink-mute); font-size: 13px; margin-bottom: 14px; min-height: 18px; }
.status.error { color: var(--danger); }

/* ===== empty state (visual) ===== */
.empty-state { text-align: center; padding: 40px 24px; }
.empty-state .ill {
  width: 110px; height: 110px; margin: 0 auto 18px; border-radius: 28px;
  background: linear-gradient(135deg, var(--mesh-1), var(--mesh-2), var(--mesh-3));
  display: flex; align-items: center; justify-content: center; font-size: 44px; box-shadow: var(--shadow-md);
}
.empty-state h3 { font-size: 17px; font-weight: 700; margin-bottom: 6px; }
.empty-state p { color: var(--ink-mute); font-size: 13.5px; line-height: 1.55; max-width: 340px; margin: 0 auto; }

/* ===== match list ===== */
.match-list { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.match-item {
  background: var(--canvas); border: 1px solid var(--hairline); border-radius: var(--radius-lg);
  padding: 18px 20px; box-shadow: var(--shadow-sm); transition: all .16s;
}
.match-item:hover { border-color: var(--hairline-strong); box-shadow: var(--shadow-md); transform: translateY(-2px); }
.match-top { display: flex; align-items: center; gap: 14px; }
.score {
  min-width: 56px; height: 52px; border-radius: 14px; display: flex; flex-direction: column; align-items: center; justify-content: center;
  font-family: var(--mono); font-weight: 700; font-size: 18px; letter-spacing: -.02em; border: 1px solid; flex-shrink: 0; line-height: 1;
}
.score .pct { font-size: 9px; font-weight: 600; opacity: .7; margin-top: 2px; }
.score.hi { background: #e8f7ee; color: #0a8a3f; border-color: #b9e6c8; }
.score.mid { background: #fef3e2; color: #b45309; border-color: #fcd9a8; }
.score.lo { background: #fdeeee; color: #d33423; border-color: #f8c8c4; }
.match-main { flex: 1; min-width: 0; }
.title { font-weight: 600; font-size: 15.5px; letter-spacing: -.01em; line-height: 1.3; color: var(--ink); }
.company { color: var(--primary); font-size: 13px; font-weight: 500; margin-top: 3px; }
.save {
  background: none; border: 1px solid var(--hairline); border-radius: 10px; width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center; color: var(--ink-faint); cursor: pointer; flex-shrink: 0; transition: all .15s;
}
.save:hover { color: var(--warning); border-color: var(--warning); background: #fff8eb; }
.save.saved { color: var(--warning); border-color: var(--warning); background: #fff3d6; }
.meta { color: var(--ink-mute); font-size: 12.5px; margin-top: 12px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.meta-dot { opacity: .75; }
.src { background: var(--canvas-soft); border: 1px solid var(--hairline); padding: 2px 8px; border-radius: 8px; font-size: 11px; font-weight: 500; color: var(--ink-mute); }
.reasons { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.reason { background: var(--primary-bg); color: #4338ca; border: 1px solid #ddd6fe; padding: 3px 10px; border-radius: var(--radius-pill); font-size: 11px; font-weight: 600; letter-spacing: .01em; }
.match-foot { margin-top: 12px; display: flex; justify-content: flex-end; }
.match-link { display: inline-flex; align-items: center; gap: 6px; color: var(--primary); font-size: 13px; font-weight: 600; text-decoration: none; transition: color .15s; }
.match-link:hover { color: var(--violet); }
.match-link svg { transition: transform .15s; }
.match-link:hover svg { transform: translateX(3px); }

/* ===== footer ===== */
.foot { text-align: center; color: var(--ink-faint); font-size: 12.5px; padding: 24px; border-top: 1px solid var(--hairline); letter-spacing: .01em; }
.foot .mark { background: linear-gradient(135deg, var(--primary), var(--violet)); -webkit-background-clip: text; background-clip: text; color: transparent; font-weight: 700; }

/* ===== scrollbar ===== */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: #d3dbe6; border-radius: 5px; border: 2px solid var(--canvas); }
::-webkit-scrollbar-track { background: var(--canvas); }

/* ===== toast ===== */
.toast {
  position: fixed; bottom: 26px; left: 50%; transform: translateX(-50%) translateY(20px); opacity: 0;
  background: var(--ink); color: #fff; padding: 14px 22px; border-radius: var(--radius-lg);
  font-size: 13px; max-width: 440px; text-align: center; box-shadow: var(--shadow-lg);
  z-index: 100; transition: opacity .3s, transform .3s; line-height: 1.5; font-weight: 500;
}
.toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

/* ===== Dark-mode overrides voor hardcoded pastel-elementen ===== */
[data-theme="dark"] .chip.c1 { background: rgba(124,107,255,.16); color: #a295ff; border-color: rgba(124,107,255,.3); }
[data-theme="dark"] .chip.c2 { background: rgba(52,211,194,.12); color: #5eead4; border-color: rgba(52,211,194,.28); }
[data-theme="dark"] .chip.c3 { background: rgba(167,139,250,.14); color: #c4b5fd; border-color: rgba(167,139,250,.3); }
[data-theme="dark"] .chip.c4 { background: rgba(251,146,60,.12); color: #fdba74; border-color: rgba(251,146,60,.28); }
[data-theme="dark"] .chip.c5 { background: rgba(248,113,113,.12); color: #fca5a5; border-color: rgba(248,113,113,.28); }
[data-theme="dark"] .chip.c6 { background: rgba(96,165,250,.14); color: #93c5fd; border-color: rgba(96,165,250,.3); }
[data-theme="dark"] .st-badge.ok { background: rgba(52,211,153,.14); color: #6ee7b7; }
[data-theme="dark"] .st-badge.error { background: rgba(248,113,113,.14); color: #fca5a5; }
[data-theme="dark"] .st-badge.never { background: rgba(148,163,184,.14); color: #94a3b8; }
[data-theme="dark"] .count-pill { color: #a295ff; background: rgba(124,107,255,.14); }
[data-theme="dark"] .reason { color: #a295ff; background: rgba(124,107,255,.12); border-color: rgba(124,107,255,.3); }
[data-theme="dark"] .score.hi { background: rgba(52,211,153,.14); color: #6ee7b7; border-color: rgba(52,211,153,.32); }
[data-theme="dark"] .score.mid { background: rgba(251,191,36,.12); color: #fcd34d; border-color: rgba(251,191,36,.3); }
[data-theme="dark"] .score.lo { background: rgba(248,113,113,.14); color: #fca5a5; border-color: rgba(248,113,113,.32); }
[data-theme="dark"] .save:hover { background: rgba(251,191,36,.12); border-color: var(--warning); color: var(--warning); }
[data-theme="dark"] .save.saved { background: rgba(251,191,36,.15); border-color: var(--warning); color: var(--warning); }
[data-theme="dark"] .linkedin-cta { background: rgba(10,102,194,.12); border-color: rgba(10,102,194,.35); }
[data-theme="dark"] .linkedin-cta:hover { background: rgba(10,102,194,.2); border-color: #0a66c2; }
[data-theme="dark"] .linkedin-btn:hover { background: rgba(10,102,194,.12); }
[data-theme="dark"] .topnav { background: rgba(14,17,22,.82); }
[data-theme="dark"] ::-webkit-scrollbar-thumb { background: #2a323e; }
[data-theme="dark"] ::-webkit-scrollbar-track { background: var(--canvas); }
[data-theme="dark"] .toast { background: #232a35; color: #e8edf5; }
[data-theme="dark"] .scan-tile, [data-theme="dark"] .modal-card { background: var(--surface); }

/* Fix: CSS display overschrijft het HTML `hidden`-attribuut.
   Zet hidden-attributen ALTIJD terug naar display:none voor elementen
   die een eigen display-regel hebben (.modal, .scan-body, .suggest, ...). */
.scan-body[hidden],
.suggest[hidden],
.results-card[hidden],
.modal[hidden] { display: none !important; }
