/* Vacancy research: scoped to this module and its own dialogs. */
#vacanciesModule > .vacancies-shell { display:none; }
#vacanciesModule { max-width:none; }
.vp-workspace,.vp-dialog { --vp-ink:#183747; --vp-muted:#58727e; --vp-line:#dbe6ea; --vp-paper:#fff; --vp-wash:#f4f8fa; color:var(--vp-ink); font-family:Inter,'Segoe UI',sans-serif; }
.vp-workspace { width:100%; max-width:1800px; margin:0 auto; padding:12px 8px 40px; }
.vp-workspace svg,.vp-dialog svg { width:19px; height:19px; flex:none; }
.vp-workspace .vp-hero { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:38px 42px; border-radius:23px; border:1px solid #476576; background:radial-gradient(ellipse at 100% 0%,#466c6f80,transparent 60%),linear-gradient(120deg,#142838,#244759); color:#fff; box-shadow:0 16px 36px #17394616; }
.vp-workspace .vp-hero h1 { color:#f5fbff!important; font-size:clamp(25px,2.6vw,40px); font-weight:700; letter-spacing:-.04em; line-height:1.15; margin:10px 0 12px; }
.vp-workspace .vp-hero p { color:#c5d8e2!important; font-size:14px; margin:0; }
.vp-workspace .vp-hero .vp-eyebrow { color:#c3d9d9!important; }
.vp-eyebrow { font-size:10px!important; font-weight:700; letter-spacing:.17em; line-height:1.5; margin:0 0 8px; color:#4c7882; }
.vp-hero-actions,.vp-actions { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
body .vp-workspace .vp-button,body .vp-dialog .vp-button { display:inline-flex; justify-content:center; align-items:center; gap:8px; min-height:40px; padding:10px 15px; border:1px solid var(--vp-line)!important; border-radius:11px; color:var(--vp-ink)!important; -webkit-text-fill-color:currentColor!important; background:var(--vp-paper)!important; font-size:12px; font-weight:650; text-decoration:none; cursor:pointer; box-shadow:0 2px 5px #18374704; transition:box-shadow .15s,background .15s; }
body .vp-workspace .vp-button:hover,body .vp-dialog .vp-button:hover { box-shadow:0 4px 14px #21465318; }
body .vp-workspace .vp-primary,body .vp-dialog .vp-primary { background:#1b5264!important; color:#fff!important; border-color:#1b5264!important; }
body .vp-workspace .vp-hero .vp-primary { background:#d8ebed!important; border-color:#d8ebed!important; color:#164451!important; }
body .vp-workspace .vp-icon,body .vp-dialog .vp-icon { display:inline-grid; place-items:center; width:34px; height:34px; padding:6px; border:1px solid var(--vp-line)!important; border-radius:10px; background:var(--vp-paper)!important; color:var(--vp-muted)!important; -webkit-text-fill-color:currentColor!important; cursor:pointer; }
body .vp-workspace .vp-title-button { display:block; width:100%; text-align:left; padding:0; margin:0; border:0!important; background:transparent!important; color:var(--vp-ink)!important; -webkit-text-fill-color:currentColor!important; box-shadow:none; cursor:pointer; }
.vp-workspace button:disabled,.vp-dialog button:disabled { opacity:.5; cursor:wait; }
.vp-workspace :is(button,a):focus-visible,.vp-dialog :is(button,a):focus-visible { outline:2px solid #4b98ad; outline-offset:3px; }
.vp-metrics { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--vp-line); border-radius:17px; background:var(--vp-paper); margin:22px 0 30px; box-shadow:0 5px 16px #17394604; }
.vp-metrics >div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:22px 28px; }
.vp-metrics >div+div { border-left:1px solid var(--vp-line); }
.vp-metrics span { font-size:12px; color:var(--vp-muted); }.vp-metrics strong { font-size:28px; font-weight:650; letter-spacing:-.04em; }
.vp-section-title { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:18px; margin:26px 0 18px; }.vp-section-title h2 { margin:0; color:var(--vp-ink); font-size:22px; letter-spacing:-.03em; }.vp-section-title h2 span { font-size:13px; padding:4px 10px; border-radius:20px; background:#e6eff1; color:#345e6c; }
.vp-search { display:flex; align-items:center; gap:10px; padding:0 14px; min-width:250px; background:var(--vp-paper); border:1px solid var(--vp-line); border-radius:12px; }
body .vp-search input { margin:0; border:0!important; box-shadow:none!important; outline:0!important; background:transparent!important; min-height:42px; padding:7px 0; color:var(--vp-ink); font-size:12px; }
.vp-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.vp-card { min-width:0; display:flex; flex-direction:column; padding:23px; border:1px solid var(--vp-line); border-radius:17px; background:var(--vp-paper); box-shadow:0 5px 16px #17394604; transition:border-color .15s,box-shadow .15s; }
.vp-card:hover { border-color:#a5c4ce; box-shadow:0 10px 24px #1739460b; }
.vp-card h3 { color:var(--vp-ink); font-size:17px; line-height:1.4; letter-spacing:-.025em; margin:16px 0 7px; overflow-wrap:anywhere; }
.vp-card-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }.vp-card-top >.vp-icon { opacity:.65; }.vp-card-top >.vp-icon:hover { opacity:1; }
.vp-emblem { width:44px; height:44px; display:grid; place-items:center; border:1px solid #cddfe5; background:linear-gradient(130deg,#f0f7f8,#d7e8ed); color:#2b6376; border-radius:13px; }.vp-emblem svg { width:24px; height:24px; }
.vp-card-sub { color:var(--vp-muted); font-size:12px; line-height:1.65; margin:0 0 16px; }.vp-chips { display:flex; flex-wrap:wrap; gap:6px; }.vp-chips span { font-size:10px; padding:5px 8px; border-radius:6px; background:var(--vp-wash); color:var(--vp-muted); border:1px solid var(--vp-line); }
.vp-card footer { display:flex; align-items:center; justify-content:space-between; gap:8px; border-top:1px solid var(--vp-line); padding-top:15px; margin-top:auto; font-size:10px; color:var(--vp-muted); }.vp-project-card footer { margin-top:25px; }
.vp-legacy { background:linear-gradient(130deg,var(--vp-paper),var(--vp-wash)); }.vp-legacy p { font-size:12px; line-height:1.7; color:var(--vp-muted); }
.vp-company { font-size:11px; font-weight:650; color:#5b7a86; overflow-wrap:anywhere; }.vp-excerpt { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:4; overflow:hidden; font-size:12px; line-height:1.8; color:var(--vp-muted); margin:0 0 20px; }
.vp-project-tools { display:flex; justify-content:space-between; align-items:center; gap:18px; flex-wrap:wrap; padding:22px 0; border-bottom:1px solid var(--vp-line); }
.vp-batch { margin:28px 0; }.vp-batch >header { display:flex; align-items:center; gap:15px; margin-bottom:16px; color:var(--vp-muted); font-size:12px; }.vp-batch >header i { height:1px; background:var(--vp-line); flex:1; }.vp-batch >header span { font-weight:650; }
.vp-empty { text-align:center; padding:45px 25px; border:1px dashed #c5d9e1; border-radius:17px; margin-top:24px; background:var(--vp-paper); }.vp-empty h3 { margin:0 0 10px; font-size:20px; color:var(--vp-ink); }.vp-empty p { margin:0 0 22px; font-size:13px; color:var(--vp-muted); }
.vp-notice { margin:18px 0; padding:17px 20px; background:#fff6e6; border:1px solid #edddb7; border-radius:12px; color:#6f501b; font-size:13px; line-height:1.7; }.vp-loading,.vp-progress { padding:18px 22px; background:var(--vp-paper); border:1px solid var(--vp-line); border-radius:13px; margin:18px 0; color:var(--vp-muted); font-size:13px; }.vp-progress >div { display:flex; gap:14px; justify-content:space-between; }.vp-progress progress,.vp-loading progress { display:block; width:100%; height:5px; margin:12px 0; accent-color:#317c91; }.vp-progress small { font-size:11px; }
.vp-detail { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:22px; margin-top:24px; }.vp-description,.vp-facts { background:var(--vp-paper); border:1px solid var(--vp-line); border-radius:18px; padding:30px; }.vp-description h2 { margin:10px 0 24px; font-size:26px; letter-spacing:-.03em; }.vp-job-text { white-space:pre-wrap; overflow-wrap:anywhere; font-size:14px; line-height:1.9; color:var(--vp-ink); }.vp-facts { align-self:start; padding:24px; }.vp-facts h3 { font-size:16px; margin:0 0 22px; }.vp-facts dt { font-size:10px; text-transform:uppercase; letter-spacing:.08em; color:var(--vp-muted); margin:18px 0 6px; }.vp-facts dd { margin:0; font-size:13px; overflow-wrap:anywhere; }.vp-facts p { font-size:11px; line-height:1.8; color:var(--vp-muted); }.vp-facts .vp-button { margin-top:20px; font-size:11px; }
.vp-dialog { width:min(680px,calc(100vw - 36px)); max-height:90vh; box-sizing:border-box; padding:28px; border:1px solid var(--vp-line); border-radius:22px; background:var(--vp-paper); box-shadow:0 30px 100px #07192855; overflow:auto; color-scheme:light; }.vp-dialog::backdrop { background:#0e26356b; backdrop-filter:blur(5px); }.vp-dialog >header { display:flex; justify-content:space-between; gap:18px; margin-bottom:25px; }.vp-dialog h2 { margin:0; font-size:25px; letter-spacing:-.035em; }.vp-dialog p { font-size:13px; line-height:1.8; color:var(--vp-muted); }.vp-dialog footer { display:flex; justify-content:flex-end; margin-top:22px; }.vp-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.vp-form-grid label { display:flex; flex-direction:column; gap:8px; font-size:12px; font-weight:600; color:var(--vp-ink); }.vp-form-grid :is(input,select) { width:100%; min-height:42px; border:1px solid var(--vp-line); border-radius:10px; padding:10px 12px; background:var(--vp-wash); color:var(--vp-ink); box-sizing:border-box; font:400 13px 'Segoe UI',sans-serif; }.vp-advanced { margin:22px 0; border-top:1px solid var(--vp-line); border-bottom:1px solid var(--vp-line); padding:16px 0; }.vp-advanced summary { display:flex; align-items:center; gap:8px; cursor:pointer; font-size:12px; font-weight:650; }.vp-advanced .vp-form-grid { margin-top:20px; }.vp-dialog .vp-form-note { font-size:11px; }.vp-callout { display:grid; gap:8px; background:var(--vp-wash); border:1px solid var(--vp-line); padding:18px; border-radius:13px; }.vp-callout span { font-size:12px; color:var(--vp-muted); }.vp-filter-summary { display:grid; grid-template-columns:1fr 1fr; gap:12px; font-size:13px; }.vp-filter-summary dd { margin:0; }.vp-filter-summary dt { color:var(--vp-muted); }
html[data-workspace-mode=dark] :is(.vp-workspace,.vp-dialog) { --vp-ink:#e1edf5; --vp-muted:#acc4d2; --vp-line:#365060; --vp-paper:#1b3041; --vp-wash:#253f50; }.vp-dialog[open] { display:block; }.vp-dialog:not([open]) { display:none; }
@media(max-width:1600px){.vp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px){.vp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vp-detail{grid-template-columns:1fr}.vp-metrics>div{padding:18px}.vp-workspace .vp-hero{padding:28px;align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.vp-grid,.vp-form-grid{grid-template-columns:1fr}.vp-metrics{grid-template-columns:1fr}.vp-metrics>div+div{border-left:0;border-top:1px solid var(--vp-line)}.vp-search{min-width:0;width:100%}.vp-workspace{padding:0 0 25px}.vp-progress>div{flex-direction:column;gap:8px}}

/* Project → calendar day → timed result batches. */
.vp-research-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.vp-research-card { border-top:3px solid #588696; padding:25px; }
.vp-section-note { color:var(--vp-muted); font-size:12px; line-height:1.7; margin:8px 0 0; }
.vp-count { color:var(--vp-muted); font-size:12px; }
.vp-status { border:1px solid var(--vp-line); background:var(--vp-wash); color:var(--vp-muted); border-radius:20px; padding:6px 10px; font-size:10px; }
.vp-status-active { color:var(--vp-ink); font-weight:700; }
.vp-research-total { display:flex; align-items:baseline; gap:10px; margin:5px 0 20px; }
.vp-research-total strong { font-size:38px; font-weight:650; letter-spacing:-.05em; color:var(--vp-ink); }
.vp-research-total span { color:var(--vp-muted); font-size:11px; }
.vp-research-card .vp-progress { border:0; padding:0; background:transparent; }
.vp-research-card .vp-progress >div { flex-direction:column; gap:5px; }
.vp-complete { margin:24px 0; color:var(--vp-muted); font-size:10px; }
.vp-batch-empty { padding:20px; border:1px solid var(--vp-line); border-radius:14px; background:var(--vp-paper); }
.vp-batch-empty p { margin:0; color:var(--vp-muted); font-size:12px; line-height:1.7; }
body .vp-workspace .vp-job-text { white-space:normal; }
body .vp-workspace .vp-job-text p { color:var(--vp-ink); font-size:14px; line-height:1.9; margin:0 0 20px; }
body .vp-workspace .vp-job-text :is(h2,h3,h4,h5,h6) { color:var(--vp-ink); font-size:18px; font-weight:700; line-height:1.5; margin:30px 0 12px; letter-spacing:-.02em; }
body .vp-workspace .vp-job-text :is(ul,ol) { padding-left:24px; margin:12px 0 24px; list-style-position:outside; }
body .vp-workspace .vp-job-text ul { list-style-type:disc; }
body .vp-workspace .vp-job-text ol { list-style-type:decimal; }
body .vp-workspace .vp-job-text li { display:list-item; color:var(--vp-ink); font-size:14px; line-height:1.8; margin:7px 0; }
body .vp-workspace .vp-job-text strong { color:var(--vp-ink); font-weight:700; }
body .vp-workspace .vp-job-text a { color:var(--vp-ink); text-decoration:underline; }
body .vp-workspace .vp-job-text table { display:block; max-width:100%; overflow:auto; }
.vp-format-status { margin:0 0 20px; padding:12px 15px; border:1px solid var(--vp-line); border-radius:10px; background:var(--vp-wash); color:var(--vp-muted); font-size:12px; line-height:1.7; }
.vp-format-status progress { display:block; width:100%; height:4px; margin-top:8px; accent-color:#588696; }
@media(max-width:1100px){.vp-research-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.vp-research-grid{grid-template-columns:1fr}}
