:root {
  --ink: #15213a;
  --muted: #68738a;
  --line: #e1e7f0;
  --paper: #f4f6fa;
  --surface: #ffffff;
  --navy: #101a31;
  --navy-2: #182746;
  --blue: #4777ff;
  --cyan: #27c7bd;
  --green: #28a778;
  --amber: #f0a33a;
  --shadow: 0 14px 36px rgba(23, 37, 68, 0.07);
}

* { box-sizing: border-box; }
html { color-scheme: light; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button {
  appearance: none;
  -webkit-appearance: none;
  margin: 0;
  font: inherit;
  line-height: 1.2;
}
a, button { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid rgba(71,119,255,.62); outline-offset: 3px; }
button:focus:not(:focus-visible) { outline: none; }

.icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 232px minmax(0, 1fr); }
.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  padding: 30px 20px 22px;
  display: flex;
  flex-direction: column;
  color: #dbe4fa;
  background: linear-gradient(165deg, var(--navy) 0%, #0d1830 58%, #10213c 100%);
}
.brand { display: flex; align-items: center; gap: 12px; padding: 0 8px 28px; }
.brand-mark { width: 42px; height: 42px; display: block; flex: 0 0 auto; border-radius: 13px; object-fit: cover; box-shadow: 0 9px 25px rgba(71,119,255,.28); }
.brand strong, .brand small { display: block; }
.brand strong { color: white; font-size: 16px; letter-spacing: -.02em; }
.brand small { color: #8fa0c2; margin-top: 2px; font-size: 11px; }
.main-nav { display: grid; gap: 7px; }
.main-nav a { display: flex; align-items: center; gap: 12px; padding: 12px 13px; border-radius: 11px; color: #91a0bd; font-size: 14px; font-weight: 650; }
.nav-icon { width: 20px; height: 20px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.main-nav .nav-label { width: auto; }
.main-nav a:hover { color: white; background: rgba(255,255,255,.06); }
.main-nav a.active { color: white; background: var(--navy-2); box-shadow: inset 3px 0 0 var(--blue); }
.sidebar-note { margin-top: auto; display: flex; gap: 10px; align-items: flex-start; padding: 14px 12px; border: 1px solid rgba(255,255,255,.08); border-radius: 13px; background: rgba(255,255,255,.035); }
.sidebar-note strong, .sidebar-note small { display: block; }
.sidebar-note strong { font-size: 12px; color: #e7edfa; }
.sidebar-note small { margin-top: 3px; color: #7788aa; font-size: 10px; line-height: 1.35; }
.status-dot { margin-top: 3px; width: 8px; height: 8px; flex: 0 0 auto; border-radius: 99px; background: var(--cyan); box-shadow: 0 0 0 4px rgba(39,199,189,.12); }
.sidebar-account { margin-top: auto; padding: 10px; border: 1px solid rgba(255,255,255,.08); border-radius: 13px; background: rgba(255,255,255,.035); }
.sidebar-account > a { display: flex; align-items: center; gap: 9px; min-width: 0; }
.sidebar-account > a > span:last-child { min-width: 0; }
.sidebar-account strong, .sidebar-account small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-account strong { color: #edf2ff; font-size: 11px; }
.sidebar-account small { margin-top: 2px; color: #8494b2; font-size: 9px; }
.account-avatar { width: 30px; height: 30px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 9px; color: white; background: linear-gradient(145deg,#4777ff,#725be7); font-size: 11px; font-weight: 850; }
.sidebar-account form { margin-top: 9px; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.07); }
.sidebar-account button { width: 100%; padding: 4px; color: #91a0bd; border: 0; background: transparent; cursor: pointer; font-size: 10px; font-weight: 700; text-align: left; }
.sidebar-account button:hover { color: white; }

.auth-page { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at 15% 10%,rgba(71,119,255,.13),transparent 35%), radial-gradient(circle at 90% 85%,rgba(39,199,189,.1),transparent 32%), var(--paper); }
.auth-card { width: min(100%,440px); padding: 30px; border: 1px solid #dce3ef; border-radius: 22px; background: rgba(255,255,255,.96); box-shadow: 0 24px 70px rgba(23,37,68,.12); }
.auth-card-wide { width: min(100%,620px); }
.auth-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 38px; }
.auth-brand img { width: 44px; height: 44px; border-radius: 13px; box-shadow: 0 10px 24px rgba(71,119,255,.23); }
.auth-brand strong, .auth-brand span { display: block; }
.auth-brand strong { font-size: 16px; }
.auth-brand span { margin-top: 2px; color: var(--muted); font-size: 10px; }
.auth-copy h1 { margin: 5px 0 9px; font-size: 34px; letter-spacing: -.04em; }
.auth-copy > p:last-child { margin: 0 0 24px; color: var(--muted); font-size: 13px; line-height: 1.55; }
.auth-form { padding: 0; }
.auth-card .flash { margin-bottom: 17px; }
.auth-login-page { padding: clamp(22px, 4vw, 64px); }
.auth-login-shell { width: min(100%, 1040px); min-height: min(680px, calc(100vh - 80px)); display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr); overflow: hidden; border: 1px solid rgba(198,208,226,.72); border-radius: 30px; background: white; box-shadow: 0 32px 90px rgba(23,37,68,.16); }
.auth-login-intro { position: relative; isolation: isolate; display: flex; flex-direction: column; padding: clamp(42px,5vw,66px); overflow: hidden; color: white; background: linear-gradient(145deg,#142348 0%,#203f86 55%,#3d67da 100%); }
.auth-login-intro::before, .auth-login-intro::after { content: ""; position: absolute; z-index: -1; border-radius: 999px; pointer-events: none; }
.auth-login-intro::before { width: 360px; height: 360px; top: -170px; right: -160px; background: rgba(119,145,255,.32); }
.auth-login-intro::after { width: 310px; height: 310px; right: -110px; bottom: -170px; border: 1px solid rgba(255,255,255,.16); box-shadow: 0 0 0 54px rgba(255,255,255,.035); }
.auth-brand-light { margin-bottom: 0; }
.auth-brand-light strong { color: white; }
.auth-brand-light span { color: #b8c8eb; }
.auth-brand-light img { box-shadow: 0 14px 32px rgba(4,12,35,.3); }
.auth-login-pitch { margin: auto 0; padding: 54px 0; }
.auth-login-pitch > p:first-child { margin: 0 0 18px; color: #bcd0ff; font-size: 12px; font-weight: 760; letter-spacing: .035em; text-transform: uppercase; }
.auth-login-pitch h1 { max-width: 520px; margin: 0 0 22px; font-size: clamp(39px,4.2vw,56px); line-height: 1.02; letter-spacing: -.05em; text-wrap: balance; }
.auth-login-pitch > p:last-child { max-width: 490px; margin: 0; color: #cbd7f2; font-size: 15px; line-height: 1.65; }
.auth-login-points { display: grid; gap: 13px; margin: 0; padding: 0; list-style: none; }
.auth-login-points li { display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 12px; align-items: center; color: #e3eaff; font-size: 12px; line-height: 1.45; }
.auth-login-points span { display: grid; place-items: center; width: 32px; height: 32px; color: #c9d7ff; border: 1px solid rgba(255,255,255,.17); border-radius: 10px; background: rgba(255,255,255,.07); font-size: 9px; font-weight: 800; }
.auth-login-panel { display: flex; flex-direction: column; justify-content: center; padding: clamp(42px,5vw,68px); background: rgba(255,255,255,.98); }
.auth-login-form-wrap { width: 100%; max-width: 390px; margin: auto; }
.auth-login-panel .auth-copy { margin-bottom: 32px; }
.auth-login-panel .auth-copy h2 { margin: 8px 0 12px; font-size: 34px; line-height: 1.08; letter-spacing: -.04em; }
.auth-login-panel .auth-copy > p:last-child { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.auth-login-panel .auth-form { gap: 19px; }
.auth-login-panel .field > span { margin-bottom: 9px; font-size: 11px; }
.auth-login-panel input { min-height: 52px; padding-inline: 16px; border-radius: 13px; font-size: 15px; }
.auth-login-panel .button { min-height: 52px; margin-top: 5px; border-radius: 13px; font-size: 13px; }
.auth-login-panel .flash { margin-bottom: 22px; }
.auth-login-note { margin: 34px 0 0; color: #8b95a8; font-size: 10px; text-align: center; }
.account-grid { display: grid; grid-template-columns: minmax(260px,.75fr) minmax(380px,1.25fr); gap: 20px; }
.account-facts { margin: 0; padding: 0 24px 24px; }
.account-facts > div { display: grid; grid-template-columns: 90px minmax(0,1fr); gap: 14px; padding: 13px 0; border-top: 1px solid var(--line); }
.account-facts dt { color: var(--muted); font-size: 10px; font-weight: 750; }
.account-facts dd { margin: 0; font-size: 12px; overflow-wrap: anywhere; }
.account-password .stacked-form, .invite-panel .stacked-form { padding-top: 0; }
.invite-panel { max-width: 650px; }
.invite-result { max-width: 900px; margin-bottom: 18px; padding: 18px; color: #176b53; border: 1px solid #bfe5d7; border-radius: 14px; background: #ebfaf4; }
.invite-result strong { font-size: 14px; }
.invite-result p { margin: 5px 0 13px; font-size: 11px; line-height: 1.5; }
.invite-result input { border-color: #add9c9; }
.session-panel { margin-top: 20px; }
.session-list { padding: 0 24px 18px; }
.session-list > div { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 0; border-top: 1px solid var(--line); }
.session-list strong, .session-list small { display: block; }
.session-list strong { font-size: 12px; }
.session-list small { max-width: 760px; margin-top: 4px; color: var(--muted); font-size: 9px; overflow-wrap: anywhere; }
.session-list button { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 0 12px; color: #8b5361; border: 0; border-radius: 9px; background: #faedf0; cursor: pointer; font-size: 10px; font-weight: 780; white-space: nowrap; transition: background .15s ease, color .15s ease, transform .15s ease; }
.session-list button:hover { color: #713d4d; background: #f6dfe5; transform: translateY(-1px); }

.main-content { min-width: 0; padding: clamp(28px, 3.4vw, 46px) clamp(20px, 3.8vw, 56px) 64px; }
.main-content > * { width: 100%; max-width: 1480px; min-width: 0; margin-left: auto; margin-right: auto; }
.page-header { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-bottom: 24px; }
.page-header h1 { margin: 5px 0 8px; font-size: clamp(32px, 4vw, 46px); line-height: 1.04; letter-spacing: -.04em; text-wrap: balance; }
.eyebrow { margin: 0; color: #4169bd; font-size: 12px; font-weight: 760; letter-spacing: .01em; }
.subtitle { max-width: 700px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.58; }
.profile-switcher { min-width: 220px; }
.dashboard-actions { display: flex; align-items: flex-end; gap: 10px; }
.profile-switcher label { display: block; margin: 0 0 7px 2px; color: var(--muted); font-size: 11px; font-weight: 750; }
select, input { width: 100%; min-height: 44px; padding: 0 14px; color: var(--ink); border: 1px solid var(--line); border-radius: 11px; outline: none; background: white; }
select:focus, input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(71,119,255,.12); }

.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; margin-bottom: 20px; }
.metric-card { position: relative; overflow: hidden; min-height: 138px; padding: 21px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: 0 5px 18px rgba(23,37,68,.035); }
.metric-card.accent { color: white; border-color: transparent; background: linear-gradient(140deg, #315fd7, #537fff 60%, #6678e9); box-shadow: 0 15px 35px rgba(71,119,255,.22); }
.metric-card.accent::after { content: ""; position: absolute; width: 110px; height: 110px; right: -32px; top: -35px; border: 21px solid rgba(255,255,255,.08); border-radius: 50%; }
.metric-label, .metric-card small { display: block; color: var(--muted); font-size: 11px; font-weight: 700; }
.metric-card.accent .metric-label, .metric-card.accent small { color: #dce6ff; }
.metric-card strong { display: block; margin: 15px 0 5px; font-size: 38px; line-height: 1; letter-spacing: -.045em; }
.metric-card-link { transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.metric-card-link:hover { border-color: #c8d5f5; box-shadow: 0 12px 30px rgba(23,37,68,.09); transform: translateY(-2px); }

.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(280px, .7fr); gap: 20px; }
.panel { border: 1px solid #dfe5ee; border-radius: 16px; background: var(--surface); box-shadow: 0 10px 30px rgba(23,37,68,.055); }
.panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 23px 24px 17px; }
.panel-heading h2 { margin: 4px 0 0; font-size: 20px; letter-spacing: -.025em; }
.panel-heading > a { margin-top: 9px; color: var(--blue); font-size: 12px; font-weight: 750; }
.job-stack { padding: 0 10px 11px; }
.job-row { display: grid; grid-template-columns: 54px minmax(0,1fr) 22px; gap: 14px; align-items: center; padding: 15px 14px; border-top: 1px solid #eef1f6; border-radius: 12px; transition: .18s ease; }
.job-row:hover { border-color: transparent; background: #f5f8ff; transform: translateY(-1px); }
.score-ring { width: 48px; height: 48px; display: grid; place-items: center; border: 5px solid #e6ebf5; border-radius: 50%; color: var(--ink); font-size: 13px; font-weight: 850; }
.score-ring.strong { color: #168562; border-color: #bde9d8; background: #f0fbf6; }
.score-ring.excluded { color: #8a6670; border-color: #eed9df; background: #faedf0; }
.job-main { min-width: 0; }
.job-main > strong, .job-main > small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.job-main > strong { font-size: 14px; }
.job-main > small { margin-top: 4px; color: var(--muted); font-size: 11px; }
.tag-line { display: flex; gap: 6px; margin-top: 8px; }
.tag { padding: 4px 7px; border-radius: 6px; color: #46628c; background: #eef3fb; font-size: 9px; font-weight: 800; }
.tag.salary { color: #148260; background: #e8f8f1; }
.tag.warning { color: #8b651f; background: #fff3da; }
.tag.reason { color: #865b67; background: #f8ecef; text-transform: none; }
.row-arrow { color: #a7b0c2; }
.review-notice { margin: 0 20px 9px; padding: 12px 14px; color: #6e5970; border: 1px solid #eadde2; border-radius: 10px; background: #fcf5f7; font-size: 10px; line-height: 1.5; }
.review-notice.standalone { margin: 0 0 16px; font-size: 11px; }
.source-panel { align-self: start; }
.source-list { padding: 0 18px; }
.source-row { display: grid; grid-template-columns: 38px minmax(0,1fr) 10px; gap: 11px; align-items: center; padding: 14px 4px; border-top: 1px solid #eef1f6; }
.source-badge { width: 36px; height: 36px; display: grid; place-items: center; color: #49617f; background: #eef2f7; border-radius: 10px; font-size: 10px; font-weight: 850; }
.source-row strong, .source-row small { display: block; }
.source-row strong { font-size: 12px; }
.source-row small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.health { width: 8px; height: 8px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(40,167,120,.1); }
.health.off { background: #aeb6c4; box-shadow: none; }
.pipeline-card { margin: 16px 18px 18px; padding: 16px; color: #dfe8fb; border-radius: 13px; background: var(--navy); }
.pipeline-card span, .pipeline-card strong, .pipeline-card small { display: block; }
.pipeline-card strong { margin: 7px 0; color: white; font-size: 12px; }
.pipeline-card small { color: #8494b2; font-size: 10px; }
.pipeline-label { color: #8eafff; font-size: 10px; font-weight: 800; }
.empty-panel { display: grid; justify-items: center; gap: 0; margin: 0 20px 20px; padding: 28px; text-align: center; border: 1px solid #e3e9f2; border-radius: 13px; background: linear-gradient(145deg, #fbfcff, #f7f9fd); box-shadow: inset 0 1px 0 rgba(255,255,255,.9); }
.empty-panel::before { content: "…"; width: 32px; height: 32px; display: grid; place-items: center; margin-bottom: 12px; color: var(--blue); border-radius: 11px; background: #edf2ff; box-shadow: inset 0 0 0 1px #dfe8ff; font-size: 21px; font-weight: 850; line-height: 1; }
.empty-panel strong { display: block; font-size: 14px; }
.empty-panel p { max-width: 560px; margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.empty-panel code { color: var(--blue); }
.empty-hero { min-height: 480px; display: grid; place-items: center; align-content: center; padding: 36px 24px; text-align: center; border: 1px solid var(--line); border-radius: 20px; background: white; box-shadow: var(--shadow); }
.empty-hero h2 { margin: 8px 0; font-size: 28px; }
.empty-hero p:not(.eyebrow) { max-width: 480px; margin: 0 0 22px; color: var(--muted); }
.empty-icon { width: 64px; height: 64px; display: grid; place-items: center; margin-bottom: 18px; color: var(--blue); border-radius: 20px; background: #edf2ff; font-size: 30px; }
.error-hero { padding: 32px; }
.error-icon { color: #a34d63; background: #fbecef; font-size: 20px; font-weight: 800; }
.error-hero h2 { max-width: 620px; }
.error-hero p:not(.eyebrow) { margin-bottom: 8px; }
.error-hint { display: block; max-width: 520px; margin: 0 auto 22px; color: var(--muted); line-height: 1.5; }
.error-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.system-check-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 20px; }
.system-check-card { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 11px; align-items: center; padding: 17px; }
.system-check-icon { width: 30px; height: 30px; display: grid; place-items: center; color: #147c68; border-radius: 10px; background: #e5f7f1; font-weight: 850; }
.system-check-card.status-failed .system-check-icon { color: #9a4d60; background: #fae9ed; }
.system-check-card strong, .system-check-card small { display: block; }
.system-check-card strong { font-size: 12px; }
.system-check-card small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.system-status-label { color: #147c68; font-size: 10px; font-weight: 800; }
.status-failed .system-status-label { color: #9a4d60; }
.system-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.system-panel { overflow: hidden; }
.system-error { margin: 16px 20px; padding: 10px 12px; color: #914e60; border-radius: 9px; background: #fae9ed; font-size: 11px; }
.resume-preview { grid-column: 1 / -1; margin-top: 7px; }
.resume-preview summary { color: var(--blue); cursor: pointer; font-size: 10px; font-weight: 750; }
.resume-preview pre { max-height: 260px; margin: 10px 0 0; padding: 12px; overflow: auto; white-space: pre-wrap; color: #48556d; border: 1px solid #e4e9f1; border-radius: 9px; background: #fafbfe; font: 11px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; }
.resume-reparse-form { margin-top: 8px; }
.resume-reparse-form .button { min-height: 32px; padding: 7px 10px; font-size: 10px; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 17px;
  appearance: none;
  -webkit-appearance: none;
  color: var(--ink);
  border: 0;
  border-radius: 11px;
  background: #fff;
  cursor: pointer;
  font-size: 12px;
  font-weight: 780;
  letter-spacing: -.005em;
  line-height: 1.15;
  text-align: center;
  white-space: nowrap;
  box-shadow: 0 4px 12px rgba(23,37,68,.055);
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease, color .16s ease;
}
.button:hover { transform: translateY(-1px); box-shadow: 0 8px 18px rgba(23,37,68,.1); }
.button:active { transform: translateY(0); box-shadow: 0 2px 6px rgba(23,37,68,.06); }
.is-loading { position: relative; cursor: wait !important; pointer-events: none; transform: none !important; }
.is-loading::after { content: ""; width: 12px; height: 12px; flex: 0 0 auto; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: button-spin .7s linear infinite; }
@keyframes button-spin { to { transform: rotate(360deg); } }
.button.primary { color: white; background: linear-gradient(135deg, #527cff, #3d68e8); box-shadow: 0 9px 20px rgba(71,119,255,.22); }
.button.primary:hover { box-shadow: 0 12px 25px rgba(71,119,255,.3); }
.button.secondary { color: #315fc9; background: #edf2ff; box-shadow: none; }
.button.secondary:hover { color: #244fae; background: #e3ebff; box-shadow: 0 7px 16px rgba(71,119,255,.12); }
.button.danger { color: #fff; background: linear-gradient(135deg, #c44958, #ae303e); box-shadow: 0 8px 18px rgba(174,48,62,.18); }
.button.danger:hover { box-shadow: 0 11px 23px rgba(174,48,62,.25); }
.button.wide { width: 100%; }
.button:disabled, .button[aria-disabled="true"] { cursor: not-allowed; opacity: .58; transform: none; box-shadow: none; }
.back-link { display: inline-flex; margin-bottom: 22px; color: var(--muted); font-size: 12px; font-weight: 700; }
.back-link:hover { color: var(--blue); }

.filter-bar { display: grid; grid-template-columns: 1.15fr 1.4fr .65fr .75fr 1.2fr .75fr; gap: 11px; align-items: end; margin-bottom: 18px; padding: 17px; border: 1px solid var(--line); border-radius: 17px; background: white; box-shadow: 0 8px 25px rgba(23,37,68,.04); }
.field { display: block; }
.field > span { display: block; margin: 0 0 7px 2px; color: var(--muted); font-size: 10px; font-weight: 760; letter-spacing: .01em; }
.field small { display: block; margin: 6px 0 0 2px; color: #8a95a9; font-size: 10px; }
.field textarea { width: 100%; min-height: 76px; resize: vertical; padding: 12px 14px; color: var(--ink); border: 1px solid var(--line); border-radius: 11px; outline: none; font: inherit; line-height: 1.45; }
.field textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(71,119,255,.12); }
.toggle-field { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 11px; font-weight: 700; }
.toggle-field input { width: 16px; min-height: 16px; accent-color: var(--blue); }
.filter-submit { display: none; border: 0; }
.jobs-loading { height: 0; margin: -8px 3px 8px; color: var(--blue); font-size: 10px; font-weight: 750; opacity: 0; transition: opacity .15s ease; }
.jobs-loading.htmx-request { opacity: 1; }
.results-section { min-height: 200px; }
.results-heading { display: flex; align-items: center; justify-content: space-between; margin: 0 3px 12px; color: var(--muted); font-size: 12px; }
.results-heading strong { color: var(--ink); }
.result-list { display: grid; gap: 10px; }
.result-card { border: 1px solid var(--line); border-radius: 15px; background: white; box-shadow: 0 5px 18px rgba(23,37,68,.035); transition: .18s ease; }
.result-card:hover { border-color: #cbd6ef; box-shadow: 0 12px 30px rgba(23,37,68,.08); transform: translateY(-1px); }
.result-card.excluded { background: #fafbfc; }
.result-card-link { display: grid; grid-template-columns: 66px minmax(0,1fr) 24px; gap: 17px; align-items: center; padding: 19px 21px; }
.result-score { width: 60px; height: 60px; display: grid; place-items: center; align-content: center; border-radius: 16px; color: #236d5b; background: #e9f8f2; }
.result-card.excluded .result-score { color: #8490a4; background: #eef1f5; }
.result-score strong, .result-score small { display: block; }
.result-score strong { font-size: 21px; letter-spacing: -.04em; }
.result-score small { font-size: 8px; font-weight: 800; text-transform: uppercase; }
.result-title-line { display: flex; align-items: center; gap: 9px; }
.result-title-line h2 { margin: 0; font-size: 16px; letter-spacing: -.015em; }
.decision-chip { padding: 4px 7px; color: #7b8495; background: #eceff4; border-radius: 6px; font-size: 8px; font-weight: 800; }
.result-company { margin: 5px 0 9px; color: var(--muted); font-size: 11px; }
.result-company span { color: #bdc5d2; }
.result-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.result-tags > span { padding: 4px 7px; color: #526782; background: #f0f3f8; border-radius: 6px; font-size: 9px; font-weight: 750; }
.result-tags > span.money { color: #177a5d; background: #e8f8f1; }
.result-tags > span.candidate-match { color: #315fc9; background: #edf2ff; }
.reason-line { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin: 9px 0 0; color: #8a6670; font-size: 10px; }
.reason-line strong { margin-right: 2px; }
.reason-line span { padding: 4px 7px; border-radius: 6px; background: #f8ecef; }
.reason-line.positive { color: #33806b; }
.reason-line.warning { color: #8b651f; }
.reason-line.warning span { background: #fff3da; }
.result-arrow { color: #aeb7c7; }
.result-action-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 18px 12px 104px; border-top: 1px solid #eef1f6; }
.job-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.job-actions button { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 0 12px; color: #64718a; border: 0; border-radius: 10px; background: #f3f6fa; cursor: pointer; font: inherit; font-size: 10px; font-weight: 780; line-height: 1.1; text-align: center; white-space: nowrap; box-shadow: none; transition: transform .15s ease, color .15s ease, background .15s ease, box-shadow .15s ease; }
.action-icon { width: 15px; height: 15px; margin: 0 5px 0 0; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.job-actions button:hover { color: #315fc9; background: #eaf0ff; transform: translateY(-1px); box-shadow: 0 6px 13px rgba(23,37,68,.08); }
.job-actions button:active { transform: translateY(0); }
.job-actions button.active.positive { color: #177a5d; background: #e1f6ed; }
.job-actions button.active.shortlist { color: #8d651e; background: #fff1d2; }
.job-actions button.active.applied { color: #315fc9; background: #e3ebff; }
.job-actions button.active.negative { color: #8b5361; background: #fae8ed; }
.job-actions button:disabled { cursor: not-allowed; opacity: .62; transform: none; box-shadow: none; }
.tracker-link { flex: 0 0 auto; color: var(--blue); font-size: 9px; font-weight: 800; }
.empty-panel.roomy { padding: 50px; }
.empty-panel.roomy .button { margin-top: 16px; }

.exclusion-panel { margin-top: 20px; overflow: hidden; }
.reason-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 0 22px 22px; }
.reason-summary-grid a { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 3px 11px; align-items: center; padding: 14px; border: 1px solid #ece3e6; border-radius: 11px; background: #fcf7f8; transition: .15s ease; }
.reason-summary-grid a:hover { border-color: #dfcbd1; background: #fff; transform: translateY(-1px); }
.reason-summary-grid strong { grid-row: 1 / 3; color: #8a5d69; font-size: 24px; text-align: center; }
.reason-summary-grid span { font-size: 10px; font-weight: 750; }
.reason-summary-grid small { color: var(--muted); font-size: 8px; }

.detail-page { width: 100%; max-width: 1680px; margin: 0 auto; }
.detail-page > .back-link { margin-bottom: 14px; }
.detail-header { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 12px; padding: 24px 26px; border: 1px solid #dfe6f1; border-radius: 20px; background: linear-gradient(135deg, #fff 0%, #f8faff 100%); box-shadow: 0 12px 34px rgba(23,37,68,.06); }
.detail-action-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 20px; padding: 13px 16px; border: 1px solid #dce5f4; border-radius: 13px; background: rgba(255,255,255,.86); box-shadow: 0 7px 22px rgba(23,37,68,.035); }
.detail-action-bar > a { color: var(--blue); font-size: 10px; font-weight: 800; }
.detail-heading { display: flex; align-items: center; gap: 17px; }
.company-avatar { width: 68px; height: 68px; display: grid; place-items: center; flex: 0 0 auto; color: white; border-radius: 19px; background: linear-gradient(145deg, #2a5ed2, #684fcf); font-size: 17px; font-weight: 850; box-shadow: 0 12px 27px rgba(71,119,255,.23); }
.detail-heading h1 { max-width: 760px; margin: 5px 0; font-size: clamp(27px, 4vw, 42px); line-height: 1.08; letter-spacing: -.04em; }
.detail-meta { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.detail-meta span { padding: 6px 9px; color: #536783; border: 1px solid #e1e7f0; border-radius: 8px; background: white; font-size: 10px; font-weight: 700; }
.detail-meta svg { width: 12px; height: 12px; margin-right: 5px; vertical-align: -2px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.detail-grid { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(440px,.8fr); gap: 20px; align-items: start; }
.detail-primary { min-width: 0; display: grid; gap: 20px; align-content: start; }
.detail-content { min-width: 0; padding: 26px; }
.fact-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.fact-grid > div { padding: 15px; border: 1px solid #e7ecf4; border-radius: 12px; background: linear-gradient(145deg, #f9faff, #f3f6fb); }
.fact-grid span, .fact-grid strong { display: block; }
.fact-grid span { margin-bottom: 7px; color: var(--muted); font-size: 9px; font-weight: 760; }
.fact-grid strong { font-size: 13px; line-height: 1.4; }
.description { padding: 28px 3px; }
.description h2, .source-references h2, .breakdown h2, .evidence-box h2 { margin: 5px 0 17px; font-size: 19px; }
.description-text { max-width: 980px; color: #3e485c; font-size: 14px; line-height: 1.78; white-space: pre-line; overflow-wrap: anywhere; }
.description-empty { max-width: 720px; padding: 15px 17px; color: #68758b; border: 1px solid #e3e8f1; border-radius: 11px; background: #f7f9fc; font-size: 12px; line-height: 1.55; }
.cover-letter-panel { min-width: 0; margin-top: 0; padding: 0 24px 24px; }
.cover-letter-panel .panel-heading { margin: 0 -24px 18px; align-items: flex-start; gap: 20px; border-bottom: 1px solid #e8edf5; background: linear-gradient(135deg, #fff, #f7faff); }
.cover-letter-panel .panel-heading p:not(.eyebrow) { max-width: 760px; color: var(--muted); }
.cover-letter-panel .stacked-form { padding-inline: 0; }
.cover-letter-form { min-width: 0; margin-bottom: 14px; }
.field textarea.cover-letter-text { display: block; width: 100%; min-height: clamp(320px, 44vh, 620px); line-height: 1.55; resize: vertical; }
.cover-letter-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.cover-letter-actions span, .cover-letter-panel form small { color: var(--muted); }
.cover-letter-context { margin-top: 18px; border-top: 1px solid var(--line); padding-top: 16px; }
.cover-letter-context summary { cursor: pointer; font-weight: 700; }
.cover-letter-context p { color: var(--muted); }
.warning-text { color: #9a6700 !important; }
.source-references { padding: 23px 3px 2px; border-top: 1px solid var(--line); }
.source-references > a { display: grid; grid-template-columns: 100px minmax(0,1fr) 20px; gap: 10px; align-items: center; padding: 11px 13px; border-radius: 9px; background: #f6f8fc; font-size: 11px; }
.source-references a small { color: var(--muted); overflow: hidden; text-overflow: ellipsis; }
.score-panel { min-width: 0; align-self: start; overflow: hidden; border-color: #dbe4f2; box-shadow: 0 16px 42px rgba(23,37,68,.09); }
.score-hero { display: grid; grid-template-columns: 118px minmax(0,1fr); gap: 20px; align-items: center; padding: 25px; color: white; background: linear-gradient(145deg, #176f60, #2aac82); }
.score-hero.excluded { background: linear-gradient(145deg, #5f697b, #858e9e); }
.score-gauge { width: 112px; height: 112px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(#fff calc(var(--score-value) * 1%), rgba(255,255,255,.2) 0); box-shadow: 0 12px 30px rgba(7,61,50,.22); }
.score-gauge > span { width: 88px; height: 88px; display: grid; place-items: center; align-content: center; border-radius: 50%; background: rgba(17,105,86,.94); }
.score-hero.excluded .score-gauge > span { background: rgba(82,91,107,.96); }
.score-gauge strong { display: block; font-size: 38px; line-height: .9; letter-spacing: -.06em; }
.score-gauge small { display: block; margin-top: 6px; color: rgba(255,255,255,.72); font-size: 9px; }
.score-hero-copy > span { color: rgba(255,255,255,.76); font-size: 11px; font-weight: 760; }
.score-hero-copy h2 { margin: 8px 0 7px; color: white; font-size: 19px; line-height: 1.15; }
.score-hero-copy small { display: block; color: rgba(255,255,255,.8); font-size: 11px; line-height: 1.45; }
.breakdown, .evidence-box { padding: 25px; }
.score-section-heading { margin-bottom: 18px; }
.score-section-heading h2 { margin: 5px 0 7px; font-size: 21px; letter-spacing: -.025em; }
.score-section-heading > p:last-child { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.breakdown-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px 14px; padding: 15px 0; border-top: 1px solid #e8edf4; }
.component-copy { min-width: 0; }
.component-copy strong, .component-copy small { display: block; }
.component-copy strong { font-size: 13px; line-height: 1.3; }
.component-copy small { margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.breakdown-row > b { align-self: center; min-width: 54px; padding: 7px 9px; color: #235fbc; border-radius: 9px; background: #edf3ff; font-size: 13px; text-align: center; }
.component-track { grid-column: 1 / -1; height: 9px; overflow: hidden; border-radius: 99px; background: #e9eef6; box-shadow: inset 0 1px 2px rgba(23,37,68,.06); }
.component-track i { display: block; min-width: 6px; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #4777ff, #27c7bd); }
.reason-box { margin: 0 20px 20px; padding: 17px; color: #795a64; border: 1px solid #efdce2; border-radius: 12px; background: #fcf1f4; }
.reason-box strong { display: block; margin-bottom: 9px; font-size: 12px; }
.reason-box span { display: inline-block; margin: 4px 4px 0 0; padding: 6px 8px; border-radius: 7px; background: white; font-size: 10px; }
.evidence-box { border-top: 1px solid var(--line); background: #fbfcfe; }
.evidence-box dl { display: grid; gap: 9px; margin: 0; }
.evidence-box dl > div { display: grid; gap: 7px; padding: 13px 14px; border: 1px solid #e5eaf2; border-radius: 11px; background: white; }
.evidence-box dt { color: #78849a; font-size: 9px; font-weight: 760; letter-spacing: .01em; }
.evidence-box dd { margin: 0; color: #2e3c55; font-size: 12px; line-height: 1.5; text-align: left; overflow-wrap: anywhere; }
.evidence-box dd > strong { font-size: 12px; }
.evidence-state { display: inline-flex; width: fit-content; padding: 5px 8px; border-radius: 7px; font-size: 10px; font-weight: 800; }
.evidence-state.positive { color: #177a5d; background: #e8f8f1; }
.evidence-state.negative { color: #8b5361; background: #faedf0; }
.evidence-state.neutral { color: #68758b; background: #eef1f5; }
.evidence-tags { display: flex; flex-wrap: wrap; gap: 5px; }
.evidence-tags em { padding: 5px 7px; color: #3e5f91; border-radius: 6px; background: #edf3fc; font-size: 10px; font-style: normal; font-weight: 700; }

.profiles-grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(340px,.8fr); gap: 20px; align-items: start; }
.profile-list { padding: 0 14px 14px; }
.profile-card { padding: 17px; border-top: 1px solid var(--line); }
.profile-card.disabled { opacity: .58; }
.profile-card > div:first-child { display: flex; align-items: center; gap: 12px; }
.profile-index { width: 36px; height: 36px; display: grid; place-items: center; flex: 0 0 auto; color: var(--blue); border-radius: 10px; background: #edf2ff; font-size: 10px; font-weight: 850; }
.profile-card strong, .profile-card small { display: block; }
.profile-card strong { font-size: 13px; }
.profile-card small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.profile-chips { display: flex; flex-wrap: wrap; gap: 5px; margin: 13px 0; }
.profile-chips span { padding: 4px 7px; color: #476182; border-radius: 5px; background: #eef2f7; font-size: 8px; font-weight: 800; }
.profile-chips span.hard { color: #875b66; background: #f8ecef; }
.profile-state { margin-left: auto; padding: 5px 8px; color: #737e91; border-radius: 99px; background: #eef1f5; font-size: 9px; font-weight: 760; }
.profile-state.active { color: #177255; background: #e7f8f1; }
.profile-card footer { display: flex; flex-wrap: wrap; gap: 9px 14px; align-items: center; }
.profile-card footer a, .profile-card footer button { display: inline-flex; align-items: center; min-height: 30px; padding: 0 9px; color: var(--blue); border: 0; border-radius: 8px; background: #f3f6fa; cursor: pointer; font-size: 10px; font-weight: 750; line-height: 1; transition: color .15s ease, background .15s ease, transform .15s ease; }
.profile-card footer a:hover, .profile-card footer button:hover { color: #244fae; background: #eaf0ff; transform: translateY(-1px); }
.profile-form-panel { padding-bottom: 21px; }
.profile-form-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.profile-form-actions .button { border-width: 1px; cursor: pointer; }
.stacked-form { display: grid; gap: 15px; padding: 0 22px; }
.field textarea.tall { min-height: 150px; }
.form-split { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.candidate-grid { display: grid; grid-template-columns: minmax(280px,.65fr) minmax(0,1.35fr); gap: 20px; align-items: start; }
.candidate-summary { overflow: hidden; }
.candidate-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; padding: 0 20px 20px; }
.candidate-metrics > div { padding: 14px 8px; text-align: center; border-radius: 11px; background: #f5f8ff; }
.candidate-metrics strong, .candidate-metrics span { display: block; }
.candidate-metrics strong { font-size: 22px; }
.candidate-metrics span { margin-top: 4px; color: var(--muted); font-size: 8px; text-transform: uppercase; }
.candidate-facts { padding: 0 22px 24px; }
.candidate-facts h3 { margin: 10px 0; font-size: 11px; }
.candidate-facts code { display: block; padding: 10px; overflow-wrap: anywhere; color: #4d5f7a; border-radius: 8px; background: #f3f5f8; font-size: 9px; }
.fact-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.fact-chips span { padding: 5px 7px; color: #315fc9; border-radius: 6px; background: #edf2ff; font-size: 8px; font-weight: 750; }
.candidate-form-panel { padding-bottom: 22px; }
.resume-library { margin-top: 20px; overflow: hidden; }
.resume-library .panel-heading p:last-child { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.resume-upload-form { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 14px; padding: 4px 22px 22px; border-bottom: 1px solid var(--line); }
.resume-upload-form .button { margin-bottom: 1px; }
.resume-list { display: grid; }
.resume-item { display: grid; grid-template-columns: 52px minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 16px 22px; border-top: 1px solid var(--line); }
.resume-item:first-child { border-top: 0; }
.resume-item.active { background: #f7fbff; }
.resume-file-mark { display: grid; place-items: center; width: 52px; height: 52px; color: #315fc9; background: #edf2ff; border-radius: 13px; font-size: 10px; font-weight: 800; }
.resume-file-copy strong, .resume-file-copy small { display: block; overflow-wrap: anywhere; }
.resume-file-copy small { margin-top: 4px; color: var(--muted); font-size: 11px; }
.resume-file-copy span { display: inline-flex; margin-top: 7px; padding: 4px 8px; color: #157154; background: #e5f7ef; border-radius: 999px; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.resume-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }
.resume-actions form { margin: 0; }
.resume-actions a, .resume-actions button { display: inline-flex; align-items: center; min-height: 30px; padding: 0 9px; color: #315fc9; border: 0; border-radius: 8px; background: #f3f6fa; font: inherit; font-size: 11px; font-weight: 700; cursor: pointer; text-decoration: none; transition: color .15s ease, background .15s ease, transform .15s ease; }
.resume-actions a:hover, .resume-actions button:hover { color: #244fae; background: #eaf0ff; transform: translateY(-1px); }
.resume-actions .danger-link { color: #b43c4b; background: #faedf0; }
.resume-actions .danger-link:hover { color: #8e3042; background: #f6dfe5; }
.flash { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 16px; padding: 12px 15px; border-radius: 11px; font-size: 11px; font-weight: 700; line-height: 1.45; }
.flash::before { display: grid; width: 20px; height: 20px; place-items: center; flex: 0 0 auto; margin-top: -1px; border-radius: 7px; font-size: 11px; font-weight: 900; }
.flash.success { color: #176d53; background: #e6f7f0; }
.flash.success::before { content: "✓"; color: #176d53; background: #c9edde; }
.flash.error { color: #8c4d5d; background: #fae9ed; white-space: pre-line; }
.flash.error::before { content: "!"; color: #8c4d5d; background: #f1ced8; }
.flash.warning { color: #835b0b; background: #fff3cd; }
.flash.warning::before { content: "!"; color: #835b0b; background: #f1d985; }

.source-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.refresh-control-panel { display: grid; grid-template-columns: minmax(250px,.75fr) minmax(360px,1.25fr); gap: 24px; margin-bottom: 18px; padding: 24px; }
.refresh-control-copy h2 { margin: 5px 0 9px; font-size: 22px; letter-spacing: -.025em; }
.refresh-control-copy > p:last-child { max-width: 520px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.refresh-form { display: grid; grid-template-columns: minmax(190px,1fr) minmax(150px,.7fr) auto; gap: 10px; align-items: end; }
.refresh-form label > span { display: block; margin: 0 0 7px 2px; color: var(--muted); font-size: 10px; font-weight: 750; }
.refresh-form .button { border: 0; cursor: pointer; white-space: nowrap; }
.refresh-control-panel .refresh-status { grid-column: 1 / -1; }
.dashboard-refresh-panel { margin: -5px 0 20px; overflow: hidden; }
.refresh-status { overflow: hidden; border: 1px solid #e0e6ef; border-radius: 13px; background: #fbfcfe; }
.dashboard-refresh-panel .refresh-status { border: 0; border-radius: 0; }
.refresh-status-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 17px 18px; }
.refresh-status-heading > div > strong, .refresh-kicker { display: block; }
.refresh-kicker { margin-bottom: 5px; color: var(--muted); font-size: 9px; font-weight: 760; }
.refresh-status-heading > div > strong { font-size: 13px; line-height: 1.4; }
.refresh-state { flex: 0 0 auto; padding: 5px 8px; color: #3c639f; border-radius: 99px; background: #eaf1ff; font-size: 8px; font-style: normal; font-weight: 800; }
.refresh-success .refresh-state { color: #177154; background: #e5f7ef; }
.refresh-partial .refresh-state { color: #835b0b; background: #fff1cf; }
.refresh-failed .refresh-state { color: #8c4d5d; background: #fae9ed; }
.refresh-running .refresh-state, .refresh-queued .refresh-state { position: relative; padding-left: 21px; }
.refresh-running .refresh-state::before, .refresh-queued .refresh-state::before { content: ""; position: absolute; left: 8px; top: 50%; width: 7px; height: 7px; margin-top: -4px; border: 2px solid rgba(71,119,255,.25); border-top-color: var(--blue); border-radius: 50%; animation: refresh-spin .8s linear infinite; }
.refresh-totals { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid #e8ecf2; border-bottom: 1px solid #e8ecf2; }
.refresh-totals span { padding: 12px 18px; color: var(--muted); font-size: 9px; }
.refresh-totals span + span { border-left: 1px solid #e8ecf2; }
.refresh-totals strong { margin-right: 4px; color: var(--ink); font-size: 15px; }
.refresh-source-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 20px; padding: 5px 18px; }
.refresh-source-row { min-width: 0; display: grid; grid-template-columns: 8px minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 11px 0; border-bottom: 1px solid #edf0f5; }
.refresh-source-row > span:nth-child(2) { min-width: 0; }
.refresh-source-row strong, .refresh-source-row small { display: block; }
.refresh-source-row strong { font-size: 11px; }
.refresh-source-row small { overflow: hidden; margin-top: 3px; color: var(--muted); font-size: 9px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.refresh-source-row em { color: var(--muted); font-size: 8px; font-style: normal; font-weight: 760; }
.refresh-source-dot { width: 8px; height: 8px; border-radius: 50%; background: #b5bdca; }
.refresh-source-dot.running { background: var(--blue); box-shadow: 0 0 0 4px rgba(71,119,255,.11); }
.refresh-source-dot.success { background: var(--green); }
.refresh-source-dot.partial { background: var(--amber); }
.refresh-source-dot.failed { background: #c96b7e; }
.refresh-status-footer { display: flex; justify-content: space-between; gap: 14px; padding: 10px 18px; color: #8a94a7; background: #f6f8fb; font-size: 8px; }
.refresh-idle-copy { margin: 0; padding: 0 18px 17px; color: var(--muted); font-size: 10px; }
@keyframes refresh-spin { to { transform: rotate(360deg); } }
.source-card { overflow: hidden; }
.source-card > header { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; gap: 13px; align-items: center; padding: 22px; border-bottom: 1px solid var(--line); }
.source-logo { width: 46px; height: 46px; display: grid; place-items: center; color: #345887; border-radius: 13px; background: #eaf0f8; font-size: 11px; font-weight: 850; }
.source-card h2 { margin: 0; font-size: 16px; }
.source-card header p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.source-state { padding: 5px 8px; border-radius: 99px; font-size: 8px; font-weight: 800; }
.source-state.active { color: #167254; background: #e3f7ef; }
.source-state.disabled { color: #707b8f; background: #edf0f4; }
.source-metrics { display: grid; grid-template-columns: repeat(4,1fr); margin: 0; padding: 19px 22px; }
.source-metrics div { padding-right: 10px; }
.source-metrics dt { color: var(--muted); font-size: 8px; }
.source-metrics dd { margin: 6px 0 0; font-size: 15px; font-weight: 800; }
.source-card > footer { display: flex; justify-content: space-between; padding: 11px 22px; color: #8c96a8; background: #f8f9fb; font-size: 8px; }
.source-error { margin: 0; padding: 12px 22px; color: #8c4d5d; border-top: 1px solid #f3d9de; background: #fff8f9; font-size: 10px; line-height: 1.5; }
.command-panel { margin-top: 18px; padding: 24px; color: #dfe7f7; border-radius: 17px; background: var(--navy); }
.command-panel h2 { margin: 5px 0 15px; color: white; }
.command-panel code { display: block; padding: 13px 15px; color: #9dc3ff; border: 1px solid rgba(255,255,255,.09); border-radius: 9px; background: rgba(0,0,0,.18); }
.command-panel > p:last-child { margin: 12px 0 0; color: #8492ae; font-size: 10px; }

.settings-header { align-items: center; }
.settings-health { min-width: 250px; display: grid; grid-template-columns: 10px minmax(0,1fr); column-gap: 10px; align-items: center; padding: 14px 16px; border: 1px solid #d6e9e2; border-radius: 14px; background: #f0faf6; box-shadow: 0 8px 24px rgba(36,124,94,.06); }
.settings-health > span { width: 9px; height: 9px; grid-row: 1 / 3; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 5px rgba(40,167,120,.12); }
.settings-health strong, .settings-health small { display: block; }
.settings-health strong { color: #176c55; font-size: 12px; }
.settings-health small { margin-top: 3px; color: #668176; font-size: 10px; }
.settings-overview-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 16px; }
.settings-panel { overflow: hidden; }
.settings-card .panel-heading { border-bottom: 1px solid var(--line); }
.settings-card-icon { width: 38px; height: 38px; display: grid; place-items: center; color: #315fc9; border-radius: 11px; background: #edf3ff; font-size: 17px; font-weight: 800; }
.settings-row { min-height: 53px; display: grid; grid-template-columns: minmax(140px,.7fr) minmax(0,1.3fr); gap: 20px; align-items: center; padding: 13px 22px; border-top: 1px solid var(--line); }
.settings-card .panel-heading + .settings-row { border-top: 0; }
.settings-row span { color: var(--muted); font-size: 11px; }
.settings-row span small { display: block; margin-top: 3px; color: #929bad; font-size: 10px; }
.settings-row strong { justify-self: end; font-size: 11px; overflow-wrap: anywhere; text-align: right; }
.config-state { padding: 5px 8px; color: #69758b; border-radius: 99px; background: #f0f2f6; font-size: 10px !important; font-weight: 800; }
.config-state.active { color: #177255; background: #e7f8f1; }
.privacy-card { display: flex; gap: 13px; align-items: center; margin-top: 16px; padding: 18px 21px; color: #176c55; border: 1px solid #ccebdd; border-radius: 14px; background: #eefaf5; }
.privacy-card > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--green); }
.privacy-card strong, .privacy-card p { display: block; margin: 0; }
.privacy-card strong { font-size: 12px; }
.privacy-card p { margin-top: 4px; color: #4f786c; font-size: 10px; }
.hh-import-panel { overflow: hidden; border-color: #d9e2f3; box-shadow: 0 18px 50px rgba(34,57,102,.09); }
.hh-import-hero { position: relative; display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 18px; align-items: center; padding: 26px; color: white; background: radial-gradient(circle at 88% 20%,rgba(86,127,255,.28),transparent 27%), linear-gradient(135deg,#111d36,#192d51); }
.hh-import-hero::after { content: ""; position: absolute; right: 11%; bottom: -70px; width: 170px; height: 170px; border: 34px solid rgba(255,255,255,.025); border-radius: 50%; pointer-events: none; }
.hh-import-mark { width: 88px; height: 58px; display: flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid rgba(255,255,255,.12); border-radius: 17px; background: rgba(255,255,255,.07); box-shadow: inset 0 1px 0 rgba(255,255,255,.08); }
.hh-import-mark b, .hh-import-mark strong { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; font-size: 12px; }
.hh-import-mark b { color: white; background: #e83c4d; }
.hh-import-mark strong { color: white; background: var(--blue); }
.hh-import-mark i { color: #90a1c3; font-size: 12px; font-style: normal; }
.hh-import-hero .eyebrow { color: #83ead9; }
.hh-import-hero h2 { margin: 4px 0 7px; color: white; font-size: 22px; letter-spacing: -.03em; }
.hh-import-hero p:last-child { max-width: 760px; margin: 0; color: #aebbd3; font-size: 12px; line-height: 1.55; }
.integration-state { z-index: 1; display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; color: #a8f0db; border: 1px solid rgba(94,223,184,.17); border-radius: 99px; background: rgba(39,199,189,.1); font-size: 10px; font-weight: 800; }
.integration-state i { width: 7px; height: 7px; border-radius: 50%; background: #4dd4a6; box-shadow: 0 0 0 4px rgba(77,212,166,.1); }
.hh-import-methods { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; padding: 18px; background: #f8fafd; }
.hh-method { min-width: 0; padding: 20px; border: 1px solid #e0e6ef; border-radius: 16px; background: white; }
.hh-method.featured { border-color: #c9d7fa; background: linear-gradient(150deg,#fff 45%,#f4f7ff); box-shadow: 0 10px 25px rgba(49,95,201,.07); }
.method-heading { display: flex; gap: 12px; align-items: center; }
.method-icon { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; color: white; border-radius: 12px; background: linear-gradient(135deg,#386cf5,#637ff2); box-shadow: 0 8px 19px rgba(71,119,255,.2); font-size: 19px; }
.method-icon.secondary { color: #4b68ae; border: 1px solid #d6e0f5; background: #f0f4fc; box-shadow: none; }
.method-badge { display: block; margin-bottom: 3px; color: #315fc9; font-size: 10px; font-weight: 800; }
.method-badge.quiet { color: #738096; }
.hh-method h3 { margin: 0; font-size: 15px; letter-spacing: -.02em; }
.hh-method > p { min-height: 38px; margin: 13px 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.browser-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; }
.browser-chips span { padding: 5px 8px; color: #52627c; border-radius: 7px; background: #edf1f7; font-size: 10px; font-weight: 750; }
.hh-extension-form { margin: 0; }
.hh-extension-download { width: 100%; border: 0; cursor: pointer; }
.hh-extension-download span { margin-left: 5px; color: #dbe5ff; font-size: 10px; }
.install-details { margin-top: 12px; border-top: 1px solid #e5eaf2; }
.install-details summary { padding: 12px 1px 0; color: #3f5d9f; cursor: pointer; font-size: 10px; font-weight: 800; }
.install-details ol { display: grid; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.install-details li { display: grid; grid-template-columns: 22px minmax(0,1fr); gap: 8px; align-items: center; }
.install-details li > span { width: 22px; height: 22px; display: grid; place-items: center; color: #315fc9; border-radius: 7px; background: #edf3ff; font-size: 10px; font-weight: 850; }
.install-details p { margin: 0; color: #68758c; font-size: 10px; line-height: 1.4; }
.bookmarklet-dropzone { display: flex; gap: 12px; align-items: center; justify-content: space-between; min-height: 70px; padding: 13px; border: 1px dashed #cbd6e8; border-radius: 12px; background: #f8fafd; }
.bookmarklet-dropzone > span { max-width: 180px; color: #78849a; font-size: 10px; line-height: 1.45; }
.hh-bookmarklet { cursor: grab; }
.compact-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; margin: 12px 0 0; padding: 0; list-style: none; }
.compact-steps li { color: #68758c; font-size: 10px; white-space: nowrap; }
.compact-steps b { display: inline-grid; place-items: center; width: 19px; height: 19px; margin-right: 3px; color: #536a9a; border-radius: 6px; background: #edf1f7; font-size: 9px; }
.hh-security-note { display: grid; grid-template-columns: 32px minmax(0,1fr) minmax(200px,.6fr); gap: 12px; align-items: center; padding: 15px 20px; border-top: 1px solid #e1e6ef; background: white; }
.hh-security-note > span { width: 30px; height: 30px; display: grid; place-items: center; color: white; border-radius: 9px; background: var(--green); font-size: 11px; font-weight: 850; }
.hh-security-note strong, .hh-security-note p { display: block; margin: 0; }
.hh-security-note strong { font-size: 11px; }
.hh-security-note p { margin-top: 3px; color: #69768c; font-size: 10px; line-height: 1.45; }
.hh-security-note code { justify-self: end; max-width: 100%; padding: 8px 10px; color: #68758c; border-radius: 8px; background: #f1f3f7; font-size: 10px; overflow-wrap: anywhere; }
.import-result-panel { padding: 26px; }
.import-result-panel > p { color: var(--muted); }
.import-result-panel .button { margin-top: 10px; }
.import-error { margin-bottom: 18px; padding: 17px; color: #8b5361; border-radius: 11px; background: #faedf0; }
.import-error p { margin: 6px 0 0; font-size: 11px; }
.imported-job-list { overflow: hidden; }
.imported-job-list > a { display: grid; grid-template-columns: 48px minmax(0,1fr) 18px; gap: 13px; align-items: center; padding: 14px 22px; border-top: 1px solid var(--line); }
.imported-job-list > a:hover { background: #f5f8ff; }
.imported-job-list a > span:nth-child(2) strong, .imported-job-list a > span:nth-child(2) small, .imported-job-list a > span:nth-child(2) em { display: block; }
.imported-job-list a > span:nth-child(2) small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.imported-job-list a > span:nth-child(2) em { margin-top: 5px; color: #8a6670; font-size: 9px; font-style: normal; }
.imported-score { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; font-size: 12px; font-weight: 850; }
.imported-score.included { color: #177a5d; background: #e9f8f2; }
.imported-score.excluded { color: #8b6670; background: #faedf0; }

.funnel-panel { margin-top: 20px; overflow: hidden; }
.funnel-steps { display: grid; grid-template-columns: repeat(5, 1fr); padding: 0 22px 22px; }
.funnel-steps > div { position: relative; padding: 17px 18px; border-left: 1px solid var(--line); background: #f7f9fc; }
.funnel-steps > div:first-child { border-left: 0; border-radius: 12px 0 0 12px; }
.funnel-steps > div:last-child { border-radius: 0 12px 12px 0; }
.funnel-steps span, .funnel-steps strong, .funnel-steps small { display: block; }
.funnel-steps span { color: var(--muted); font-size: 8px; font-weight: 760; }
.funnel-steps strong { margin: 7px 0 3px; font-size: 24px; }
.funnel-steps small { color: #8a94a7; font-size: 8px; }

.application-filter { min-width: 230px; }
.tracker-metrics { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-bottom: 19px; }
.tracker-metrics > div { padding: 16px 18px; border: 1px solid var(--line); border-radius: 13px; background: white; }
.tracker-metrics span, .tracker-metrics strong { display: block; }
.tracker-metrics span { color: var(--muted); font-size: 9px; font-weight: 760; }
.tracker-metrics strong { margin-top: 8px; font-size: 24px; }
.application-list { display: grid; gap: 12px; }
.application-card { overflow: hidden; border-left: 4px solid #8793a7; }
.application-card.status-shortlist { border-left-color: var(--amber); }
.application-card.status-applied, .application-card.status-hr, .application-card.status-tech, .application-card.status-final { border-left-color: var(--blue); }
.application-card.status-offer { border-left-color: var(--green); }
.application-card.status-rejected, .application-card.status-ignored { border-left-color: #ad7885; }
.application-card > header { display: flex; justify-content: space-between; gap: 20px; padding: 20px 22px 15px; }
.application-card h2 { margin: 7px 0 4px; font-size: 17px; }
.application-card header p { margin: 0; color: var(--muted); font-size: 10px; }
.application-status { padding: 4px 7px; color: #42618c; border-radius: 6px; background: #edf2f9; font-size: 8px; font-weight: 850; text-transform: uppercase; }
.followup-date { text-align: right; }
.followup-date span, .followup-date strong { display: block; }
.followup-date span { color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.followup-date strong { margin-top: 5px; font-size: 11px; }
.application-form { padding: 0 22px 19px; }
.application-form-primary { display: grid; grid-template-columns: 1fr 1fr auto; gap: 10px; align-items: end; padding-top: 15px; border-top: 1px solid var(--line); }
.application-form-primary .button { border: 0; cursor: pointer; }
.application-form details { margin-top: 13px; }
.application-form summary { color: var(--blue); cursor: pointer; font-size: 9px; font-weight: 800; }
.application-details-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 13px; }
.application-details-grid .notes-field { grid-column: 1 / -1; }
.application-details-grid textarea { min-height: 84px; }

.hidden-companies-panel { margin-top: 16px; overflow: hidden; }
.hidden-companies-panel .panel-heading > span { min-width: 32px; height: 32px; display: grid; place-items: center; color: #8b5361; border-radius: 9px; background: #faedf0; font-size: 11px; font-weight: 850; }
.hidden-company-list { padding: 0 18px 18px; }
.hidden-company-list > div { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 13px 5px; border-top: 1px solid var(--line); }
.hidden-company-list strong, .hidden-company-list small { display: block; }
.hidden-company-list strong { font-size: 11px; }
.hidden-company-list small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.hidden-company-list button { display: inline-flex; align-items: center; justify-content: center; min-height: 34px; padding: 0 12px; color: var(--blue); border: 0; border-radius: 9px; background: #edf2ff; cursor: pointer; font: inherit; font-size: 10px; font-weight: 780; white-space: nowrap; transition: background .15s ease, color .15s ease, transform .15s ease; }
.hidden-company-list button:hover { color: #244fae; background: #e1eaff; transform: translateY(-1px); }

.digest-metrics { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; margin-bottom: 18px; }
.digest-metrics > div { padding: 15px 18px; border: 1px solid var(--line); border-radius: 13px; background: white; box-shadow: 0 4px 15px rgba(23,37,68,.025); }
.digest-metrics strong, .digest-metrics span { display: block; }
.digest-metrics strong { font-size: 25px; }
.digest-metrics span { margin-top: 4px; color: var(--muted); font-size: 8px; font-weight: 760; }
.digest-grid { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(300px,.6fr); gap: 20px; align-items: start; }
.digest-list-panel, .digest-rule-panel { overflow: hidden; }
.digest-heading-actions { display: flex; align-items: center; gap: 10px; }
.digest-heading-actions a, .digest-heading-actions button { padding: 0; color: var(--blue); border: 0; background: transparent; cursor: pointer; font: inherit; font-size: 9px; font-weight: 800; }
.digest-list { padding: 0 13px 13px; }
.digest-item { border-top: 1px solid var(--line); }
.digest-item.seen { opacity: .58; }
.digest-item.superseded { opacity: .42; }
.tag.superseded-tag { color: #68758b; background: #eef1f5; }
.digest-item > a { display: grid; grid-template-columns: 50px minmax(0,1fr) 18px; gap: 13px; align-items: center; padding: 15px 10px; border-radius: 11px; }
.digest-item > a:hover { background: #f5f8ff; }
.digest-score { width: 46px; height: 46px; display: grid; place-items: center; color: #176d53; border-radius: 13px; background: #e9f8f2; font-size: 17px; font-weight: 850; }
.digest-main { min-width: 0; }
.digest-main > strong, .digest-main > small, .digest-main > em { display: block; }
.digest-main > strong { font-size: 13px; }
.digest-main > small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.digest-main > em { margin-top: 7px; overflow: hidden; color: #47705f; font-size: 8px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.tag.candidate { color: #315fc9; background: #edf2ff; }
.digest-rule-panel { padding-bottom: 20px; }
.profile-choice { display: grid; gap: 8px; margin: 0; padding: 12px; border: 1px solid var(--line); border-radius: 11px; }
.profile-choice legend { padding: 0 5px; color: var(--muted); font-size: 9px; font-weight: 800; }
.mode-choice { align-content: start; background: #fbfcfe; }
.profile-choice label, .check-field { display: flex; align-items: center; gap: 8px; color: #44516a; font-size: 10px; }
.profile-choice input, .check-field input { width: 15px; min-height: 15px; flex: 0 0 auto; accent-color: var(--blue); }
.profile-choice small { color: #8a95a9; font-size: 8px; line-height: 1.4; }
.digest-privacy { margin: 18px 22px 0; padding: 12px; color: #5f6e87; border-radius: 9px; background: #f3f5f9; font-size: 9px; line-height: 1.5; }

.audit-funnel { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 12px; align-items: center; margin-bottom: 20px; }
.audit-funnel article { min-height: 132px; padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: white; box-shadow: 0 7px 22px rgba(23,37,68,.04); }
.audit-funnel article.passed { border-color: #ccebdd; background: #f0fbf6; }
.audit-funnel article.stopped { border-color: #ecdde1; background: #fcf5f7; }
.audit-funnel span, .audit-funnel strong, .audit-funnel small { display: block; }
.audit-funnel span { color: var(--muted); font-size: 9px; font-weight: 760; }
.audit-funnel strong { margin: 12px 0 5px; font-size: 34px; line-height: 1; }
.audit-funnel small { color: #8a94a7; font-size: 9px; line-height: 1.4; }
.audit-funnel > i { color: #aab4c5; font-size: 21px; font-style: normal; }
.audit-grid { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(280px,.65fr); gap: 20px; align-items: start; }
.audit-reasons, .audit-combinations, .near-miss-panel { overflow: hidden; }
.audit-reasons .panel-heading > small { margin-top: 8px; color: var(--muted); font-size: 9px; }
.audit-table { padding: 0 18px 18px; }
.audit-table-head, .audit-reason-row { display: grid; grid-template-columns: minmax(0,1fr) 64px 64px 78px 66px; gap: 8px; align-items: center; }
.audit-table-head { padding: 8px 12px; color: #8b95a8; font-size: 8px; font-weight: 760; }
.audit-reason-row { padding: 12px; border-top: 1px solid var(--line); border-radius: 9px; transition: .15s ease; }
.audit-reason-row:hover { border-color: transparent; background: #f5f8ff; }
.audit-reason-row > a:first-child strong, .audit-reason-row > a:first-child small { display: block; }
.audit-reason-row > a:first-child strong { font-size: 10px; }
.audit-reason-row > a:first-child small { margin-top: 3px; color: #929bad; font-size: 8px; }
.audit-reason-row > b { font-size: 11px; text-align: center; }
.what-if-link { padding: 6px 7px; color: #315fc9; border: 1px solid #d3ddf5; border-radius: 7px; background: #f3f6ff; font-size: 8px; font-weight: 800; text-align: center; }
.what-if-na { color: #a8b0bf; font-size: 9px; text-align: center; }
.combination-list { padding: 0 18px 18px; }
.combination-list > div { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 10px; align-items: start; padding: 12px 4px; border-top: 1px solid var(--line); }
.combination-list > div > strong { display: grid; place-items: center; width: 30px; height: 30px; color: #815b66; border-radius: 9px; background: #f8ecef; font-size: 11px; }
.combination-list span { display: flex; flex-wrap: wrap; gap: 5px; }
.combination-list em { padding: 4px 6px; color: #6f5861; border-radius: 6px; background: #f7f1f3; font-size: 8px; font-style: normal; }
.review-signal-box { margin: 0 18px 18px; padding: 15px; border-radius: 11px; background: #fff8e9; }
.review-signal-box .eyebrow { color: #9a6b23; margin-bottom: 9px; }
.review-signal-box > div { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 8px; align-items: center; padding: 6px 0; color: #775d32; font-size: 9px; }
.near-miss-panel { margin-top: 20px; }
.near-miss-panel .panel-heading > span { min-width: 32px; height: 32px; display: grid; place-items: center; color: #815b66; border-radius: 9px; background: #f8ecef; font-size: 11px; font-weight: 850; }
.near-miss-list { padding: 0 17px 17px; }
.near-miss-list > a { display: grid; grid-template-columns: minmax(0,1fr) minmax(150px,.45fr) 18px; gap: 13px; align-items: center; padding: 14px 7px; border-top: 1px solid var(--line); border-radius: 9px; }
.near-miss-list > a:hover { background: #f5f8ff; }
.near-miss-list span strong, .near-miss-list span small { display: block; }
.near-miss-list span strong { font-size: 11px; }
.near-miss-list span small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.near-miss-list em { color: #815b66; font-size: 9px; font-style: normal; }
.near-miss-list > a > b { color: #a1aabd; }
.what-if-panel { margin-bottom: 20px; overflow: hidden; border-color: #cad8fb; }
.what-if-summary { display: grid; grid-template-columns: 120px auto 140px minmax(0,1fr); gap: 14px; align-items: center; padding: 0 24px 20px; }
.what-if-summary > div { padding: 14px 16px; border-radius: 11px; background: #f3f5f9; }
.what-if-summary > div.simulated { color: #176c55; background: #eaf9f2; }
.what-if-summary span, .what-if-summary strong, .what-if-summary small { display: block; }
.what-if-summary span { color: var(--muted); font-size: 8px; font-weight: 760; }
.what-if-summary strong { margin-top: 6px; font-size: 25px; }
.what-if-summary small { margin-top: 3px; font-size: 8px; }
.what-if-summary > i { color: #9ba8bd; font-size: 20px; font-style: normal; }
.what-if-summary > p { margin: 0; color: #627089; font-size: 9px; line-height: 1.6; }
.what-if-jobs { padding: 0 17px 17px; }
.what-if-jobs > a { display: grid; grid-template-columns: 46px minmax(0,1fr) 18px; gap: 12px; align-items: center; padding: 12px 7px; border-top: 1px solid var(--line); border-radius: 9px; }
.what-if-jobs > a:hover { background: #f5f8ff; }
.what-if-jobs a span:nth-child(2) strong, .what-if-jobs a span:nth-child(2) small { display: block; }
.what-if-jobs a span:nth-child(2) strong { font-size: 11px; }
.what-if-jobs a span:nth-child(2) small { margin-top: 4px; color: var(--muted); font-size: 9px; }

.score-feedback-form { padding: 25px; border-top: 1px solid var(--line); background: #f7f9fd; }
.score-feedback-form .flash { margin-top: 16px; }
.score-verdicts, .score-reasons { min-width: 0; margin: 0; padding: 0; border: 0; }
.score-verdicts > legend, .score-reasons > legend { width: 100%; margin-bottom: 9px; color: var(--muted); font-size: 9px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.score-reasons > legend span { color: #9aa4b5; font-weight: 650; text-transform: none; }
.score-verdicts { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; }
.score-verdict { position: relative; min-width: 0; cursor: pointer; }
.score-verdict input { position: absolute; width: 1px; min-height: 1px; opacity: 0; }
.score-verdict > span { display: block; height: 100%; min-height: 82px; padding: 14px; color: #52617a; border: 1px solid #dfe5ef; border-radius: 12px; background: white; transition: .16s ease; }
.score-verdict strong, .score-verdict small { display: block; }
.score-verdict strong { color: var(--ink); font-size: 11px; }
.score-verdict small { margin-top: 6px; font-size: 9px; line-height: 1.4; }
.score-verdict:hover > span { border-color: #bdcbeb; transform: translateY(-1px); }
.score-verdict input:focus-visible + span { outline: 3px solid rgba(71,119,255,.25); outline-offset: 2px; }
.score-verdict input:checked + span { color: #315fc9; border-color: #8da9f0; background: #edf3ff; box-shadow: 0 7px 18px rgba(71,119,255,.1); }
.score-verdict.too_high input:checked + span { color: #8b5361; border-color: #dfb7c1; background: #faedf0; }
.score-verdict.too_low input:checked + span { color: #8d651e; border-color: #e6cca0; background: #fff7e7; }
.score-reasons { margin-top: 20px; }
.score-reasons > div { display: flex; flex-wrap: wrap; gap: 7px; }
.score-reasons label { position: relative; cursor: pointer; }
.score-reasons input { position: absolute; width: 1px; min-height: 1px; opacity: 0; }
.score-reasons label span { display: block; padding: 8px 10px; color: #627089; border: 1px solid #dfe5ef; border-radius: 9px; background: white; font-size: 9px; font-weight: 750; }
.score-reasons input:checked + span { color: #315fc9; border-color: #b9caf1; background: #edf3ff; }
.score-reasons input:focus-visible + span { outline: 3px solid rgba(71,119,255,.25); outline-offset: 2px; }
.score-feedback-note { margin-top: 18px; }
.field textarea.score-feedback-note, .score-feedback-note textarea { min-height: 92px; background: white; }
.score-feedback-actions { display: flex; align-items: center; gap: 12px; margin-top: 12px; }
.score-feedback-actions .button { border: 0; cursor: pointer; }
.score-feedback-actions small { color: var(--muted); font-size: 9px; }

.calibration-panel { margin-bottom: 20px; overflow: hidden; border-color: #d7e2f5; }
.calibration-panel .panel-heading > span { padding: 7px 10px; color: #315fc9; border-radius: 9px; background: #edf3ff; font-size: 10px; font-weight: 800; }
.calibration-grid { display: grid; grid-template-columns: minmax(300px,.8fr) minmax(0,1.2fr); gap: 18px; padding: 0 22px 22px; }
.calibration-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.calibration-metrics article { padding: 16px; border-radius: 12px; background: #f3f5f9; }
.calibration-metrics article.accurate { color: #176d53; background: #eaf9f2; }
.calibration-metrics article.too-high { color: #8b5361; background: #faedf0; }
.calibration-metrics article.too-low { color: #8d651e; background: #fff7e7; }
.calibration-metrics strong, .calibration-metrics span { display: block; }
.calibration-metrics strong { font-size: 27px; }
.calibration-metrics span { margin-top: 5px; font-size: 9px; font-weight: 750; }
.calibration-reasons { min-width: 0; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; }
.calibration-reasons > span { display: block; margin-bottom: 9px; color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.calibration-reasons > div { display: flex; flex-wrap: wrap; gap: 7px; }
.calibration-reasons em { padding: 7px 9px; color: #52617a; border-radius: 8px; background: #f1f4f9; font-size: 9px; font-style: normal; }
.calibration-reasons b { color: var(--blue); }

/* Readability and interaction polish. Supporting text stays compact, never microscopic. */
.field > span, .field small, .detail-action-bar > a, .detail-meta span,
.component-copy small, .reason-box span, .evidence-box dt, .evidence-state,
.evidence-tags em, .profile-card small, .profile-card footer a,
.profile-card footer button, .source-card header p, .command-panel > p:last-child,
.privacy-card p, .application-card header p,
.profile-choice label, .check-field, .calibration-panel .panel-heading > span {
  font-size: 11px;
}
.tag, .decision-chip, .result-tags > span, .result-score small,
.reason-summary-grid small, .fact-grid span, .score-gauge small,
.profile-chips span, .candidate-metrics span, .fact-chips span, .source-state,
.source-metrics dt, .source-card > footer,
.imported-job-list a > span:nth-child(2) small,
.imported-job-list a > span:nth-child(2) em, .funnel-steps span,
.funnel-steps small, .tracker-metrics span, .application-status,
.followup-date span, .application-form summary, .hidden-company-list small,
.digest-metrics span, .digest-heading-actions a, .digest-heading-actions button,
.digest-main > small, .digest-main > em, .profile-choice legend,
.profile-choice small, .digest-privacy, .audit-funnel span, .audit-funnel small,
.audit-reasons .panel-heading > small, .audit-table-head,
.audit-reason-row > a:first-child small, .what-if-link, .combination-list em,
.review-signal-box > div, .near-miss-list span small, .near-miss-list em,
.what-if-summary span, .what-if-summary small, .what-if-summary > p,
.what-if-jobs a span:nth-child(2) small, .score-verdicts > legend,
.score-reasons > legend, .score-verdict small, .score-reasons label span,
.score-feedback-actions small, .calibration-metrics span,
.calibration-reasons > span, .calibration-reasons em {
  font-size: 10px;
}
.job-actions button { min-height: 36px; padding-inline: 11px; font-size: 10px; }
.tracker-link { font-size: 10px; }
.source-row small, .pipeline-card small, .review-notice, .reason-line { font-size: 11px; }
.audit-reason-row > a:first-child strong, .near-miss-list span strong { font-size: 11px; }
.flash { border: 1px solid transparent; box-shadow: 0 5px 18px rgba(23,37,68,.04); }
.flash.success { border-color: #c8ebdd; }
.flash.error { border-color: #efd0d7; }
.flash.warning { border-color: #ecd796; }
#cover-letter, #score-feedback, .application-card { scroll-margin-top: 28px; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

@media (max-width: 1480px) {
  .filter-bar { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .detail-grid { grid-template-columns: 1fr; }
  .score-verdicts { grid-template-columns: repeat(3, minmax(160px,1fr)); }
}

@media (max-width: 1180px) {
  .app-shell { grid-template-columns: 82px minmax(0, 1fr); }
  .sidebar { padding-inline: 13px; }
  .brand { padding-inline: 7px; }
  .brand > span:last-child, .main-nav .nav-label { display: none; }
  .main-nav a { justify-content: center; }
  .nav-icon { width: 21px; height: 21px; }
  .sidebar-note div { display: none; }
  .metric-grid { grid-template-columns: repeat(2, 1fr); }
  .dashboard-grid { grid-template-columns: 1fr; }
  .filter-bar { grid-template-columns: 1fr 1fr; }
  .filter-submit { display: inline-flex; }
  .detail-grid, .profiles-grid, .candidate-grid, .digest-grid, .audit-grid { grid-template-columns: 1fr; }
  .source-cards { grid-template-columns: 1fr; }
  .refresh-control-panel { grid-template-columns: 1fr; }
  .refresh-control-panel .refresh-status { grid-column: auto; }
  .funnel-steps, .tracker-metrics { grid-template-columns: repeat(3, 1fr); }
  .reason-summary-grid { grid-template-columns: repeat(2, 1fr); }
  .audit-funnel { grid-template-columns: 1fr; }
  .audit-funnel > i { display: none; }
  .application-details-grid { grid-template-columns: 1fr 1fr; }
  .resume-item { grid-template-columns: 52px minmax(0,1fr); }
  .resume-actions { grid-column: 2; justify-content: flex-start; }
  .calibration-grid { grid-template-columns: 1fr; }
  .account-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .auth-login-page { display: block; padding: 0; background: white; }
  .auth-login-shell { min-height: 100vh; grid-template-columns: 1fr; border: 0; border-radius: 0; box-shadow: none; }
  .auth-login-intro { min-height: 250px; padding: 30px 26px; }
  .auth-login-pitch { padding: 42px 0 8px; }
  .auth-login-pitch h1 { max-width: 430px; margin-bottom: 12px; font-size: clamp(34px,10vw,45px); }
  .auth-login-pitch > p:last-child { max-width: 460px; font-size: 13px; }
  .auth-login-points { display: none; }
  .auth-login-panel { min-height: 520px; padding: 42px 26px 30px; }
  .auth-login-form-wrap { max-width: 480px; }
  .app-shell { display: block; }
  .sidebar { position: sticky; z-index: 100; top: 0; width: 100%; height: auto; padding: 11px 12px; flex-direction: row; align-items: center; box-shadow: 0 8px 28px rgba(4,12,30,.2); }
  .brand { padding: 0; }
  .brand-mark { width: 38px; height: 38px; }
  .main-nav { min-width: 0; margin-left: 9px; display: flex; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; }
  .main-nav::-webkit-scrollbar { display: none; }
  .main-nav a { flex: 0 0 42px; padding: 10px; }
  .nav-icon { width: 20px; height: 20px; }
  .main-nav a.active { box-shadow: inset 0 -3px 0 var(--blue); }
  .sidebar-note { display: none; }
  .sidebar-account { display: none; }
  .main-content { padding: 26px 16px 44px; }
  .page-header { align-items: stretch; flex-direction: column; gap: 18px; }
  .page-header h1 { font-size: clamp(30px,10vw,36px); overflow-wrap: anywhere; }
  .profile-switcher { min-width: 0; }
  .dashboard-actions { align-items: stretch; flex-direction: column; }
  .metric-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .digest-metrics { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .metric-card { min-height: 122px; padding: 17px; }
  .metric-card strong { font-size: 31px; }
  .filter-bar { grid-template-columns: 1fr 1fr; }
  .panel-heading { padding: 19px 18px 14px; }
  .result-card-link { grid-template-columns: 50px minmax(0,1fr); padding: 15px; }
  .result-score { width: 46px; height: 46px; border-radius: 13px; }
  .result-arrow { display: none; }
  .result-action-bar { align-items: flex-start; flex-direction: column; padding-left: 15px; }
  .result-action-bar .job-actions button span { display: none; }
  .result-action-bar .job-actions .action-icon { margin-right: 0; width: 17px; height: 17px; }
  .result-action-bar .job-actions button { width: 42px; min-height: 42px; padding: 0; border-radius: 12px; }
  .detail-action-bar .job-actions { width: 100%; gap: 7px; }
  .detail-action-bar .job-actions button { flex: 1 1 auto; min-height: 42px; padding-inline: 9px; }
  .detail-action-bar .job-actions .action-icon { margin-right: 4px; }
  .detail-action-bar { align-items: flex-start; flex-direction: column; }
  .detail-header { align-items: flex-start; flex-direction: column; }
  .detail-header { padding: 19px; border-radius: 16px; }
  .detail-heading { align-items: flex-start; }
  .company-avatar { width: 54px; height: 54px; border-radius: 15px; font-size: 14px; }
  .detail-heading h1 { font-size: 29px; }
  .score-hero { grid-template-columns: 94px minmax(0,1fr); gap: 15px; padding: 19px; }
  .score-gauge { width: 90px; height: 90px; }
  .score-gauge > span { width: 70px; height: 70px; }
  .score-gauge strong { font-size: 31px; }
  .breakdown, .evidence-box { padding: 19px; }
  .score-feedback-form { padding: 19px; }
  .score-verdicts { grid-template-columns: 1fr; }
  .score-verdict > span { min-height: 0; }
  .score-feedback-actions { align-items: stretch; flex-direction: column; }
  .cover-letter-panel { padding-inline: 18px; }
  .cover-letter-panel .panel-heading { margin-inline: -18px; }
  .fact-grid { grid-template-columns: 1fr 1fr; }
  .form-split { grid-template-columns: 1fr; }
  .source-metrics { grid-template-columns: 1fr 1fr; gap: 15px; }
  .refresh-form { grid-template-columns: 1fr 1fr; }
  .refresh-form .button { grid-column: 1 / -1; width: 100%; }
  .refresh-totals { grid-template-columns: 1fr 1fr; }
  .refresh-totals span:nth-child(3) { border-left: 0; border-top: 1px solid #e8ecf2; }
  .refresh-totals span:nth-child(4) { border-top: 1px solid #e8ecf2; }
  .refresh-source-list { grid-template-columns: 1fr; }
  .settings-health { width: 100%; min-width: 0; }
  .settings-overview-grid, .hh-import-methods { grid-template-columns: 1fr; }
  .settings-row { grid-template-columns: 1fr; gap: 5px; }
  .settings-row strong { justify-self: start; text-align: left; }
  .hh-import-hero { grid-template-columns: auto minmax(0,1fr); padding: 21px 18px; }
  .hh-import-hero .integration-state { grid-column: 2; justify-self: start; }
  .hh-import-methods { padding: 12px; }
  .hh-security-note { grid-template-columns: 32px minmax(0,1fr); }
  .hh-security-note code { grid-column: 2; justify-self: start; }
  .funnel-steps, .tracker-metrics { grid-template-columns: 1fr 1fr; }
  .application-form-primary, .application-details-grid { grid-template-columns: 1fr; }
  .reason-summary-grid { grid-template-columns: 1fr; }
  .audit-table { overflow-x: auto; padding-inline: 12px; }
  .audit-table-head, .audit-reason-row { min-width: 620px; grid-template-columns: minmax(190px,1fr) 64px 64px 78px 66px; }
  .near-miss-list > a { grid-template-columns: minmax(0,1fr) 18px; }
  .near-miss-list em { grid-column: 1 / -1; grid-row: 2; }
  .what-if-summary { grid-template-columns: 1fr 1fr; }
  .what-if-summary > i { display: none; }
  .what-if-summary > p { grid-column: 1 / -1; }
  .application-details-grid .notes-field { grid-column: auto; }
  .calibration-grid { padding-inline: 18px; }
  .calibration-metrics { grid-template-columns: 1fr; }
  .source-card > header, .application-card > header { align-items: flex-start; }
  .application-card > header { flex-direction: column; }
  .followup-date { text-align: left; }
  .source-references > a { grid-template-columns: 72px minmax(0,1fr) 18px; }
}

@media (max-width: 520px) {
  .auth-page { padding: 12px; }
  .auth-login-page { padding: 0; }
  .auth-card { padding: 22px 18px; border-radius: 17px; }
  .auth-brand { margin-bottom: 28px; }
  .auth-login-page .auth-brand { margin-bottom: 0; }
  .auth-login-intro { min-height: 228px; padding: 25px 22px; }
  .auth-login-pitch { padding-top: 34px; }
  .auth-login-pitch > p:first-child { margin-bottom: 12px; font-size: 10px; }
  .auth-login-pitch h1 { font-size: 34px; }
  .auth-login-pitch > p:last-child { display: none; }
  .auth-login-panel { min-height: calc(100vh - 228px); padding: 36px 22px 24px; justify-content: flex-start; }
  .auth-login-panel .auth-copy { margin-bottom: 26px; }
  .auth-login-panel .auth-copy h2 { font-size: 30px; }
  .main-content { padding-inline: 12px; }
  .metric-grid { grid-template-columns: 1fr; }
  .filter-bar { grid-template-columns: 1fr; }
  .detail-heading { gap: 12px; }
  .company-avatar { width: 46px; height: 46px; }
  .detail-heading h1 { font-size: 26px; }
  .detail-header .button { width: 100%; }
  .fact-grid, .source-metrics, .funnel-steps { grid-template-columns: 1fr; }
  .tracker-metrics { grid-template-columns: 1fr 1fr; }
  .result-title-line { align-items: flex-start; flex-direction: column; gap: 5px; }
  .job-actions { width: 100%; }
  .job-actions form { flex: 1 1 auto; }
  .result-action-bar .job-actions { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .result-action-bar .job-actions form { min-width: 0; }
  .result-action-bar .job-actions button { width: 100%; }
  .detail-action-bar .job-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .detail-action-bar .job-actions form { min-width: 0; }
  .detail-action-bar .job-actions button { width: 100%; }
  .cover-letter-actions { align-items: stretch; flex-direction: column; }
  .cover-letter-actions .button, .cover-letter-panel > form .button { width: 100%; }
  .field textarea.cover-letter-text { min-height: 52vh; }
  .score-hero { grid-template-columns: 76px minmax(0,1fr); }
  .score-gauge { width: 74px; height: 74px; }
  .score-gauge > span { width: 58px; height: 58px; }
  .score-gauge strong { font-size: 26px; }
  .score-hero-copy h2 { font-size: 17px; }
  .source-card > header { grid-template-columns: 42px minmax(0,1fr); }
  .refresh-control-panel { padding: 18px; }
  .refresh-form { grid-template-columns: 1fr; }
  .refresh-form .button { grid-column: auto; }
  .refresh-status-heading, .refresh-status-footer { flex-direction: column; }
  .source-card > header .source-state { grid-column: 2; justify-self: start; }
  .hh-import-hero { grid-template-columns: 1fr; }
  .hh-import-mark { width: 76px; height: 50px; }
  .hh-import-hero .integration-state { grid-column: 1; }
  .hh-method { padding: 17px; }
  .bookmarklet-dropzone { align-items: stretch; flex-direction: column; }
  .bookmarklet-dropzone > span { max-width: none; }
  .bookmarklet-dropzone .button { width: 100%; }
  .compact-steps { grid-template-columns: 1fr; }
  .hh-security-note { grid-template-columns: 1fr; }
  .hh-security-note code { grid-column: 1; }
  .hidden-company-list > div { align-items: stretch; flex-direction: column; }
  .resume-upload-form { grid-template-columns: 1fr; }
  .resume-upload-form .button { width: 100%; }
  .resume-item { grid-template-columns: 42px minmax(0,1fr); padding: 14px; }
  .resume-file-mark { width: 42px; height: 42px; border-radius: 11px; font-size: 8px; }
}

@media (max-width: 760px) {
  input, select, textarea { font-size: 16px; }
  #cover-letter, #score-feedback, .application-card { scroll-margin-top: 78px; }
}
/* Account data controls */
.account-data-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}

.account-data-card {
  padding: 24px;
}

.account-data-card > p,
.integration-preferences-panel .panel-intro {
  color: var(--muted);
  line-height: 1.65;
  max-width: 76ch;
}

.danger-zone {
  border-color: rgba(197, 55, 55, 0.22);
}

.danger-zone details {
  margin-top: 18px;
}

.danger-zone summary {
  color: #a72f2f;
  cursor: pointer;
  font-weight: 750;
}

.button.danger {
  background: linear-gradient(135deg, #c44958, #ae303e);
  color: #fff;
}

.integration-preferences-panel {
  margin-top: 18px;
  padding: 24px;
}

.integration-preferences-form {
  display: grid;
  grid-template-columns: minmax(260px, 0.9fr) minmax(280px, 1.1fr);
  gap: 22px;
  align-items: start;
  margin-top: 18px;
}

.integration-preferences-form > .button {
  justify-self: start;
}

.telegram-user-settings {
  display: grid;
  gap: 14px;
}

.check-field.disabled {
  opacity: 0.58;
}

@media (max-width: 760px) {
  .account-data-grid,
  .system-check-grid,
  .system-columns,
  .integration-preferences-form {
    grid-template-columns: 1fr;
  }

  .system-check-card { grid-template-columns: 34px minmax(0, 1fr); }
  .system-status-label { grid-column: 2; }
}
