:root{--bg: #f6f7f9;--surface: #ffffff;--border: #e4e7ec;--text: #1a1d23;--muted: #5c636f;--accent: #2563eb;--accent-soft: #eff4ff;--on-accent: #ffffff;--danger: #dc2626;--success: #16a34a;--warning: #d97706;--success-ink: #15803d;--chip-rate-bg: #dcfce7;--chip-rate-ink: #166534;--chip-warn-bg: #fef3c7;--chip-warn-ink: #92400e;--chip-avail-bg: #fef3c7;--chip-soon-bg: #fef3c7;--chip-urgent-bg: #fee2e2;--chip-urgent-ink: #991b1b;--skill-missing-border: #fcd34d;--submitted-ink: #166534;--cat-cloud-devops: #269dbe;--cat-data-ai: #b932e7;--cat-backend: #4148af;--cat-database: #8c881f;--cat-security: #d30572;--cat-enterprise: #9a3211;--cat-other: #7c8799;--score-high: #15803d;--score-mid: #b45309;--score-low: #6b7280;--on-score: #ffffff;--impact-high: #dc2626;--impact-mid: var(--score-mid);--impact-low: var(--score-high);--submitted-bg: rgba(22, 163, 74, .12);--run-success: #16a34a;--run-partial: #d97706;--run-failed: #dc2626;--overlay: rgba(0, 0, 0, .55);--space-xs: .35rem;--space-sm: .5rem;--space-md: .75rem;--space-lg: 1rem;--radius-xs: 3px;--radius-sm: 6px;--radius-menu-item: 7px;--radius-control: 8px;--radius-gap-card: 9px;--radius-menu: 10px;--radius-card: 12px;--radius-modal: 14px;--radius-pill: 999px;--shadow-menu: 0 10px 28px rgba(0, 0, 0, .22);--shadow-popover: 0 6px 20px rgba(0, 0, 0, .25);--shadow-drawer: 0 10px 24px rgba(0, 0, 0, .3);color-scheme:light dark}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #0f1115;--surface: #181b21;--border: #2a2f3a;--text: #e7e9ee;--muted: #9aa2b1;--accent: #5b8cff;--accent-soft: #1c2434;--on-accent: #0f1115;--danger: #f87171;--success: #4ade80;--warning: #fbbf24;--success-ink: #4ade80;--chip-rate-bg: #14321f;--chip-rate-ink: #86efac;--chip-warn-bg: #3a2f14;--chip-warn-ink: #fcd34d;--chip-avail-bg: #3a2e12;--chip-soon-bg: #37260a;--chip-urgent-bg: #3b1518;--chip-urgent-ink: #fca5a5;--skill-missing-border: #5c4708;--submitted-ink: #4ade80;--cat-cloud-devops: #219abb;--cat-data-ai: #bb26fa;--cat-backend: #525dc6;--cat-database: #8f8b24;--cat-security: #ef3689;--cat-enterprise: #af4627;--cat-other: #94a3b8}}:root[data-theme=dark]{--bg: #0f1115;--surface: #181b21;--border: #2a2f3a;--text: #e7e9ee;--muted: #9aa2b1;--accent: #5b8cff;--accent-soft: #1c2434;--on-accent: #0f1115;--danger: #f87171;--success: #4ade80;--warning: #fbbf24;--success-ink: #4ade80;--chip-rate-bg: #14321f;--chip-rate-ink: #86efac;--chip-warn-bg: #3a2f14;--chip-warn-ink: #fcd34d;--chip-avail-bg: #3a2e12;--chip-soon-bg: #37260a;--chip-urgent-bg: #3b1518;--chip-urgent-ink: #fca5a5;--skill-missing-border: #5c4708;--submitted-ink: #4ade80;--cat-cloud-devops: #219abb;--cat-data-ai: #bb26fa;--cat-backend: #525dc6;--cat-database: #8f8b24;--cat-security: #ef3689;--cat-enterprise: #af4627;--cat-other: #94a3b8}.grow{flex:1;min-width:0}.hstack{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm)}.hstack-tight{gap:var(--space-xs)}.hstack-loose{gap:var(--space-lg)}.mt-xs{margin-top:var(--space-xs)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.fine-print{margin-top:var(--space-xs);font-size:.8rem}.dialog-title{margin-top:0}.panel-intro{color:var(--muted);margin-bottom:var(--space-md)}.subhead{color:var(--muted);font-weight:600;margin:var(--space-md) 0 var(--space-xs)}*{box-sizing:border-box}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.topbar,.tabs{--bar-inline: max(1.5rem, calc((100% - 1240px)/2 + 1.5rem) )}.topbar{display:flex;align-items:center;gap:1rem;padding:.85rem var(--bar-inline);background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.topbar h1{font-size:1.05rem;margin:0;font-weight:650}.topbar .brand{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-sm)}.topbar .brand:hover{color:var(--accent)}.topbar .brand-mark{flex-shrink:0;display:block}.topbar .spacer{flex:1}.tabs{display:flex;gap:.25rem;padding:0 var(--bar-inline);background:var(--surface);border-bottom:1px solid var(--border)}.tab-btns{display:flex;gap:.25rem;margin-left:-.9rem}.tabs button{background:none;border:none;color:var(--muted);padding:.7rem .9rem;font-size:.9rem;cursor:pointer;border-bottom:2px solid transparent;font-weight:550}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.nav-hamburger{display:none}@media (max-width: 640px){.topbar{display:grid;grid-template-columns:1fr auto 1fr;gap:.5rem;padding:.85rem 1rem}.topbar .spacer{display:none}.topbar .nav-hamburger{justify-self:start}.topbar h1{justify-self:center}.topbar>:last-child{justify-self:end}.tabs{position:relative;padding:0;border-bottom:none}.nav-hamburger{display:flex;align-items:center;background:none;border:none;color:var(--text);font-size:1.1rem;cursor:pointer;padding:.25rem .4rem}.tab-btns{margin-left:0;display:none;position:absolute;top:100%;left:0;right:0;z-index:40;flex-direction:column;align-items:stretch;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-drawer)}.tab-btns.open{display:flex}.tab-btns button{text-align:left;padding:.85rem 1rem;border-bottom:none}.tab-btns button.active{border-bottom-color:transparent;background:var(--accent-soft)}}.breakdown-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:.9rem}.breakdown-tabs button{background:none;border:none;color:var(--muted);padding:.55rem .8rem;font-size:.9rem;cursor:pointer;border-bottom:2px solid transparent;font-weight:550}.breakdown-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.breakdown-tabs .tab-icon{display:none;font-size:1.1rem;line-height:1}.container{max-width:1240px;margin:0 auto;padding:1.5rem}select,button.ghost{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.45rem .65rem;font-size:.88rem}button.ghost{cursor:pointer}button.primary{background:var(--accent);color:var(--on-accent);border:none;border-radius:8px;padding:.55rem 1rem;font-size:.9rem;cursor:pointer;font-weight:600}button.secondary{background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent);border-radius:8px;padding:.55rem 1rem;font-size:.9rem;cursor:pointer;font-weight:600}button.secondary:disabled{opacity:.6;cursor:default}.link-button{background:none;border:none;padding:.15rem .25rem;font:inherit;font-size:.82rem;font-weight:600;color:var(--accent);cursor:pointer}.link-button:hover{text-decoration:underline}.tags-editor{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-top:.85rem;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius-card)}.tags-field{display:flex;align-items:center;gap:.4rem;font-size:.88rem}.tags-actions{display:flex;gap:.5rem;flex-basis:100%}.cm-actions{margin-top:.85rem;display:flex;gap:.5rem;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem 1.1rem;margin-bottom:.75rem}.card .row{display:flex;align-items:center;gap:.75rem}.card-main{flex:1;min-width:0}.card-view{white-space:nowrap}.card:has(.row.clickable:hover){border-color:var(--accent)}.card h3{margin:0;font-size:.98rem;font-weight:620}.card .sub{color:var(--muted);font-size:.82rem;margin-top:.15rem}.card .rationale{margin-top:.6rem;color:var(--text);font-size:.9rem;line-height:1.45}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:2.6rem;padding:.3rem .5rem;border-radius:8px;font-weight:700;font-size:.95rem;color:var(--on-score)}.chip{font-size:.75rem;padding:.15rem .5rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:600;white-space:nowrap}.chip-hidden{background:var(--border);color:var(--muted)}.chip-role{margin-left:.4rem;vertical-align:middle}.chip-submitted{background:var(--submitted-bg);color:var(--submitted-ink)}.chip-top-match{display:inline-flex;align-items:center;gap:.3rem;padding-left:.15rem;background:var(--bg);border:1px solid var(--border);color:var(--text)}.chip-team,.chip-neutral{display:inline-flex;align-items:center;gap:.25rem;background:var(--bg);border:1px solid var(--border);color:var(--text)}.chip-top-match .score-pill{min-width:1.6rem;padding:.02rem .3rem;font-size:.7rem}.bar-row-btn,.donut-legend-btn{display:flex;align-items:center;gap:.6rem;width:100%;min-height:28px;background:none;border:none;padding:.25rem .35rem;margin:0 -.35rem;border-radius:6px;font:inherit;color:inherit;text-align:left;cursor:pointer}.bar-row-btn:hover,.donut-legend-btn:hover,.bar-row-btn.is-selected,.donut-legend-btn.is-selected{background:var(--accent-soft)}.show-all-btn{align-self:flex-start;background:none;border:none;color:var(--accent);cursor:pointer;font:inherit;font-size:.82rem;font-weight:600;padding:.1rem;margin-top:-.2rem}.show-all-btn:hover{text-decoration:underline}.pitch-text{width:100%;box-sizing:border-box;font:inherit;font-size:.9rem;line-height:1.5;padding:.6rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);resize:vertical}.chip-rate{background:var(--chip-rate-bg);color:var(--chip-rate-ink)}.chip-rate-warn{background:var(--chip-warn-bg);color:var(--chip-warn-ink)}.chip-deadline-urgent{background:var(--chip-urgent-bg);color:var(--chip-urgent-ink)}.chip-deadline-soon{background:var(--chip-soon-bg);color:var(--chip-warn-ink)}.chip-deadline-passed{background:var(--border);color:var(--muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:flex-start;justify-content:center;padding:3rem 1rem;z-index:100;overflow:hidden;overscroll-behavior:contain}.modal-overlay-top{z-index:300}.modal:focus{outline:none}.modal{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.5rem;max-width:860px;width:100%;max-height:calc(100vh - 6rem);max-height:calc(100dvh - 6rem);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}body.modal-open{overflow:hidden}.modal-close{position:sticky;top:0;z-index:3;display:block;margin-left:auto;margin-bottom:-1.9rem;width:fit-content;background:var(--surface);border:none;border-radius:8px;color:var(--muted);font-size:1.2rem;line-height:1;cursor:pointer;padding:.35rem .5rem}.modal-header{display:flex;gap:1rem;align-items:center;margin-bottom:1rem}.modal-header h2{margin:0;font-size:1.25rem}.modal-tags{display:flex;gap:.4rem;margin-top:.4rem;flex-wrap:wrap}.modal-section{margin-top:1.25rem;border-top:1px solid var(--border);padding-top:1rem}.section-title{font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:.6rem}.section-toggle{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;background:none;border:none;padding:0;cursor:pointer;text-align:left}.section-toggle .section-title{margin-bottom:0}.section-toggle .section-caret{color:var(--muted);font-size:.7rem}.section-toggle[aria-expanded=true]{margin-bottom:.6rem}.cv-text{white-space:pre-wrap;line-height:1.5;font-size:.9rem}.rich-heading{margin:var(--space-md) 0 var(--space-xs);font-size:.95rem;font-weight:650;line-height:1.35;color:var(--text)}.rich-heading:first-child{margin-top:0}.cv-para{margin:0;white-space:pre-wrap;line-height:1.55;font-size:.9rem;color:var(--text)}.cv-entry{padding:.6rem 0}.cv-entry+.cv-entry{border-top:1px solid var(--border)}.cv-entry-head{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.3rem}.cv-role{font-weight:650;font-size:.92rem}.cv-years{color:var(--muted);font-size:.8rem;white-space:nowrap;flex-shrink:0}.cv-entry .cv-para{color:var(--muted)}.cv-entry .skills{margin-top:.45rem}.card-contact{color:var(--muted);font-size:1rem;margin-right:.5rem}.card-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .9rem;margin:0 0 var(--space-md);color:var(--muted);font-size:.82rem}.card-legend>span{display:inline-flex;align-items:center;gap:.3rem}.card-icons{display:inline-flex;align-items:center;gap:.35rem}.card-submitted{font-size:.95rem}.card-chips{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.35rem}.card-chips:empty{display:none}.card-meta{color:var(--muted);font-size:.82rem}.show-more{display:block;width:100%;margin-top:.5rem;padding:.45rem;font-size:.85rem;text-align:center}.spinner{display:inline-block;width:14px;height:14px;flex-shrink:0;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:bhs-spin .7s linear infinite;vertical-align:-2px}.spinner-lg{width:22px;height:22px;border-width:3px}@keyframes bhs-spin{to{transform:rotate(360deg)}}.loading-row{display:flex;align-items:center;justify-content:center;gap:.6rem}.dialog-header{display:flex;align-items:center;gap:var(--space-sm)}.dialog-header h2{margin:0}.icon-btn{background:none;border:none;color:var(--muted);cursor:pointer;padding:.3rem;border-radius:6px;display:inline-flex;align-items:center}.icon-btn:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.icon-btn:disabled{opacity:.5;cursor:default}.spin-icon{animation:bhs-spin .8s linear infinite}.dialog-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:.4rem}.dialog-tabs button{background:none;border:none;color:var(--muted);cursor:pointer;padding:.5rem .8rem;font-size:.9rem;font-weight:550;border-bottom:2px solid transparent;margin-bottom:-1px}.dialog-tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-count{color:var(--muted);font-weight:500}.modal-footer{margin-top:1.25rem;border-top:1px solid var(--border);padding-top:.85rem}.skills{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.6rem}.skill{font-size:.75rem;padding:.2rem .55rem;border-radius:6px;background:var(--accent-soft);color:var(--accent);font-weight:550;border:1px solid var(--border)}.skill-more{cursor:pointer;background:var(--accent-soft);color:var(--accent);font-weight:600}.skill-more:hover{border-color:var(--accent)}.skill-missing{background:var(--chip-soon-bg);color:var(--chip-warn-ink);border-color:var(--skill-missing-border)}.badge-empty{background:var(--border);color:var(--muted)}.badge-vector{background:transparent;color:var(--muted);border:1px dashed var(--border)}.breakdown{display:flex;flex-direction:column;gap:.5rem}.bar-row{display:flex;align-items:center;gap:.6rem}.bar-label{flex:0 0 40%;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{flex:1;height:8px;background:var(--accent-soft);border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:var(--accent);border-radius:999px}.bar-value{flex:0 0 auto;font-size:.82rem;font-weight:600;min-width:1.5rem;text-align:right}.table-scroll{overflow-x:auto}.pills{display:flex;flex-wrap:wrap;gap:.3rem;flex:1;justify-content:flex-end}.score-pill{display:inline-flex;align-items:center;justify-content:center;min-width:1.9rem;padding:.12rem .4rem;border-radius:999px;font-size:.76rem;font-weight:700;color:var(--on-score)}.pill-more{background:var(--border)!important;color:var(--muted)}@media (max-width: 640px){.consultant-card .rationale,.consultant-card .skills,.card-view{display:none}.modal-overlay{padding:max(1rem,env(safe-area-inset-top)) .75rem max(1rem,env(safe-area-inset-bottom));align-items:flex-start}.modal{padding:1.15rem;max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.breakdown-tabs button{flex:1;padding:.6rem}.breakdown-tabs .tab-text{display:none}.breakdown-tabs .tab-icon{display:inline}.dialog-tabs button{flex:1;text-align:center;padding-left:.4rem;padding-right:.4rem}.dialog-tabs .tab-count{display:block}.cm-actions{justify-content:center}}.muted{color:var(--muted)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.empty{color:var(--muted);padding:2rem;text-align:center}.center{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.confirm-dialog{max-width:30rem}.confirm-dialog h2{margin:0 0 var(--space-sm);font-size:1.05rem}.form-field{display:flex;flex-direction:column;gap:.3rem;margin-top:var(--space-sm);font-size:.9rem}.form-field>span{font-weight:600}.form-field input[type=text],.form-field input[type=search],.form-field input[type=url],.form-field select,.form-field textarea{font:inherit;padding:.45rem .6rem;border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:inherit}.form-field textarea{resize:vertical}.form-field .link-button{align-self:flex-start;padding-left:0}.chip-upload{margin-left:.4rem;background:var(--border);color:var(--muted);vertical-align:middle}button.danger{color:var(--danger)}.confirm-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-lg)}.clickable{cursor:pointer}.clickable:hover{border-color:var(--accent)}.cv-mini{flex:0 0 auto;align-self:center;cursor:pointer;font-size:.76rem;padding:.3rem .6rem;white-space:nowrap;background:var(--surface);color:var(--accent);border:1px solid var(--border);border-radius:8px;font-weight:600}.cv-mini:hover{border-color:var(--accent)}button.primary:disabled,button.ghost:disabled{opacity:.6;cursor:default}.btn-pdf{display:inline-flex;align-items:center;gap:.4rem}.pdf-icon{flex-shrink:0}.cv-opt{margin:.75rem 0}.hide-reasons{border:0;padding:0;min-width:0}.hide-reasons legend{padding:0;margin-bottom:var(--space-xs)}.hide-duplicate select{width:100%}.hide-warning{color:var(--danger);font-size:.85rem;margin:var(--space-xs) 0 0}.cv-radio{display:flex;align-items:center;gap:.4rem;margin:.3rem 0;font-size:.9rem;cursor:pointer}.error-text{color:var(--danger);margin:.5rem 0}.chip-open{background:var(--score-high);color:var(--on-score)}.chip-impact-high{background:var(--impact-high);color:var(--on-score)}.chip-impact-mid{background:var(--impact-mid);color:var(--on-score)}.chip-impact-low{background:var(--impact-low);color:var(--on-score)}.check-dot{flex-shrink:0;color:var(--run-success)}.icon{display:inline-block;flex-shrink:0;vertical-align:-.15em}.chip .icon{margin-right:.25rem;vertical-align:-.1em}.chip-trailing-icon .icon{margin:0 0 0 .25rem}.chip,.btn-pdf,button.primary,button.secondary,button.ghost{align-items:center}button.primary,button.secondary{display:inline-flex;gap:.4rem}.overflow-trigger,.modal-close,.user-caret,.section-caret,.gap-caret,.run-caret,.submitted-icon,.card-contact{display:inline-flex;align-items:center;justify-content:center}.modal-close{display:flex}.card-contact .icon{width:16px;height:16px}.breakdown-tabs .tab-icon .icon{vertical-align:middle}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[data-radix-popper-content-wrapper]{z-index:400!important}[data-radix-popper-content-wrapper]>.overflow-list,[data-radix-popper-content-wrapper]>.user-dropdown{position:static}.overflow-item,.menu-row,.menu-lang{-webkit-user-select:none;user-select:none;outline:none}.overflow-item[data-highlighted],.user-dropdown .menu-row[data-highlighted]{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.tab-panel:focus-visible{outline-offset:4px}.row-stretch{position:relative}.row-link{background:none;border:none;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.row-link:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-control)}.row-link:focus-visible{outline:none}.row-link:focus-visible:after{outline:2px solid var(--accent);outline-offset:2px}.row-stretch .overflow-menu,.row-stretch .match-why,.row-stretch .chip,.row-stretch .submitted-icon{position:relative;z-index:1}.row-stretch .chip,.row-stretch .submitted-icon{pointer-events:none}.row-stretch:hover .row-link{color:var(--accent)}.error-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:2rem;text-align:center;color:var(--text)}.error-state p{margin:0}.user-menu{position:relative}.user-trigger{background:none;border:1px solid transparent;color:var(--text);font-size:.85rem;cursor:pointer;padding:.35rem .55rem;border-radius:8px;display:inline-flex;align-items:center;gap:.35rem}.user-trigger:hover{background:var(--accent-soft)}.user-initials{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:.78rem;font-weight:700}.user-caret{color:var(--muted);font-size:.65rem}.user-dropdown{position:absolute;right:0;top:calc(100% + .45rem);background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.5rem;min-width:210px;z-index:50;box-shadow:var(--shadow-menu)}.menu-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:.25rem .5rem}.menu-langs{display:flex;gap:.3rem;padding:0 .25rem .25rem}.menu-lang{flex:1;background:none;border:1px solid var(--border);color:var(--text);border-radius:7px;padding:.35rem;cursor:pointer;font-size:.85rem}.menu-lang.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.menu-divider{height:1px;background:var(--border);margin:.4rem 0}.menu-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding:.5rem;font-size:.9rem;border-radius:7px}.menu-toggle{cursor:pointer}.menu-toggle:hover,.menu-action:hover{background:var(--accent-soft)}.menu-action{background:none;border:none;color:var(--text);cursor:pointer;text-align:left}.menu-lang{text-align:center}.menu-lang[data-highlighted]{box-shadow:inset 0 0 0 2px var(--accent)}.menu-lang.active[data-highlighted]{box-shadow:inset 0 0 0 2px var(--accent),inset 0 0 0 4px var(--on-accent)}.menu-check{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1px solid var(--muted);border-radius:4px;color:var(--on-accent)}.menu-row[data-state=checked] .menu-check{background:var(--accent);border-color:var(--accent)}.toolbar{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}.filter-toggle{display:none;align-items:center;gap:.4rem;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.5rem .75rem;font-size:.88rem;font-weight:600;cursor:pointer;margin-bottom:1rem}.filter-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:.72rem}.search-row{display:flex;gap:.5rem;align-items:center;margin-bottom:.75rem;flex-wrap:wrap}.search-row .search{flex:1 1 14rem}.search-suggest{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;margin:-.25rem 0 .75rem;padding:.5rem .75rem;border:1px dashed var(--accent);border-radius:8px;background:var(--surface);color:var(--accent);font:inherit;font-size:.9rem;font-weight:600;text-align:left;cursor:pointer}.search-suggest:hover{background:var(--accent-soft)}.search-suggest:disabled{opacity:.6;cursor:default}.search-suggest span{overflow-wrap:anywhere}.semantic-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;padding:.5rem .75rem;border-radius:8px;background:var(--accent-soft);color:var(--accent);font-weight:600;font-size:.9rem}.search{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:.45rem .65rem;font-size:.88rem;min-width:12rem;flex:1 1 12rem}@media (max-width: 640px){.filter-toggle{display:inline-flex}.toolbar{display:none}.toolbar.open{display:flex;flex-direction:column;align-items:stretch}.toolbar.toolbar-keep{display:flex}.toolbar .search,.toolbar select{width:100%;min-width:0}.toolbar .search{flex:none}}.role-list{margin:.25rem 0 0;padding-left:1.1rem}.role-list li{margin-bottom:.4rem}.role-name{font-weight:600}.contact-row{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;font-size:.9rem;padding:.35rem 0}.contact-row+.contact-row{border-top:1px solid var(--border)}.contact-person{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.contact-name{font-weight:650}.contact-role{color:var(--muted);font-size:.82rem}.contact-channels{display:flex;align-items:baseline;gap:.9rem;flex-wrap:wrap}.match-row{display:flex;align-items:flex-start;gap:.6rem;padding:.4rem 0}.match-row+.match-row{border-top:1px solid var(--border)}.match-hidden{opacity:.55}.match-hide-btn{flex:0 0 auto;align-self:center;background:none;border:none;color:var(--muted);cursor:pointer;font-size:.9rem;line-height:1;padding:.3rem .4rem;border-radius:8px}.match-hide-btn:hover{color:var(--accent);background:var(--accent-soft)}.match-why{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;margin-top:.35rem}.match-vscore{font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums;font-weight:600}.match-why-toggle{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.72rem;font-weight:600;padding:.1rem .2rem;border-radius:6px}.match-why-toggle:hover{background:var(--accent-soft)}.match-details{flex-basis:100%;display:flex;flex-direction:column;gap:.35rem;margin-top:.35rem}.match-details-top{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem}.match-detail-label{font-size:.72rem;font-weight:600;color:var(--muted)}.match-why-chunks{flex-basis:100%;margin:.25rem 0 0;padding-left:1.1rem;color:var(--muted);font-size:.8rem;line-height:1.45}.match-why-chunks li{margin:.15rem 0}.match-whynot{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;margin-top:.25rem}.match-whynot-intro{flex-basis:100%;font-size:.78rem;margin-bottom:.1rem}.match-title{font-size:1rem;font-weight:700;display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.submitted-icon{font-size:.95em;line-height:1;cursor:help}.match-row .sub{color:var(--muted);font-size:.82rem;line-height:1.45;margin-top:.15rem}.team-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem;padding:.35rem 0;border-bottom:1px solid var(--border)}.team-name{font-weight:700;min-width:8rem}.team-adds{display:flex;flex-wrap:wrap;gap:.3rem}.team-uncovered{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;margin-top:.6rem}@media (max-width: 640px){.match-row .cv-mini-text{display:none}.match-row .cv-mini{align-self:flex-start;padding:.45rem;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}}.submitted-icon{color:var(--success-ink)}.minibars{overflow-x:auto;padding-top:1rem}.minibars-inner{display:flex;flex-direction:column;min-width:100%}.minibars-plot{display:flex;align-items:flex-end;gap:.4rem;border-bottom:1px solid var(--border)}.minibars-labels{display:flex;gap:.4rem;margin-top:.35rem}.minibar-col{flex:1 0 24px;min-width:24px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;transition:opacity .12s ease}.minibar-fill{width:60%;min-height:2px;border-radius:3px 3px 0 0;transition:filter .12s ease}.minibar-value{font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums;margin-bottom:.2rem}.minibar-label{flex:1 0 24px;min-width:24px;text-align:center;font-size:.75rem;color:var(--muted);white-space:nowrap}.minibars-plot:hover .minibar-col{opacity:.45}.minibars-plot .minibar-col:hover{opacity:1}.minibar-col:hover .minibar-fill{filter:brightness(1.15)}.minibar-col:hover .minibar-value{color:var(--text);font-weight:700}.donut{display:flex;align-items:flex-start;gap:1.5rem;flex-wrap:wrap}.donut-aside{flex:1 1 16rem;min-width:14rem}.donut-aside .category-jobs{margin-top:0;padding-top:0;border-top:none}.donut-legend-static{display:flex;align-items:center;gap:.5rem;width:100%;padding:.2rem .35rem;margin:0 -.35rem}.donut-total{fill:var(--text);font-size:1.4rem;font-weight:700}.donut-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem;min-width:13.5rem}.donut-legend li{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.donut-swatch{width:12px;height:12px;border-radius:3px;flex-shrink:0}.donut-label{flex:1;min-width:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.donut-value{flex-shrink:0;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}@media (max-width: 640px){.donut{flex-direction:column;align-items:stretch}.donut>svg{align-self:center}.donut-legend{width:100%;min-width:0}.donut-aside{flex-basis:auto;min-width:0;width:100%}}.gap-list{display:flex;flex-direction:column;gap:.9rem}.gap-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.gap-tech{font-weight:700;font-size:.95rem}.gap-cover{font-size:.78rem}.gap-bar-wrap{display:flex;align-items:center;gap:.5rem;margin:.25rem 0}.rate-top-row{display:flex;align-items:center;gap:.5rem;width:100%;text-align:left;background:none;border:none;border-radius:6px;padding:.35rem .4rem;cursor:pointer;color:inherit}.rate-top-row:hover{background:var(--accent-soft)}.rate-top-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.gap-count{font-variant-numeric:tabular-nums;font-weight:600;font-size:.82rem;color:var(--muted)}.donut-legend-btn{gap:.5rem}.gap-row-btn{display:flex;align-items:center;gap:.6rem;width:100%;background:none;border:none;padding:.35rem .4rem;margin:0 -.4rem;border-radius:8px;font:inherit;color:inherit;text-align:left;cursor:pointer}.gap-row-btn:hover,.gap-row-btn.is-selected{background:var(--accent-soft)}.gap-row-body{flex:1;display:flex;flex-direction:column;min-width:0}.gap-caret{flex-shrink:0;color:var(--muted);font-size:.8rem}.gap-jobs-open{margin-top:.4rem;padding-left:.1rem}.category-jobs{margin-top:.8rem;padding-top:.6rem;border-top:1px solid var(--border)}.category-jobs-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}.gap-jobs{display:flex;flex-wrap:wrap;gap:.3rem}.gap-job-link{display:inline-flex;align-items:center;min-height:24px;background:var(--accent-soft);color:var(--accent);border:none;border-radius:6px;padding:.2rem .5rem;font-size:.75rem;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gap-job-link:hover{text-decoration:underline}.insights-nav{position:sticky;top:0;z-index:20;display:flex;gap:.4rem;flex-wrap:wrap;padding:.5rem 0;margin-bottom:.75rem;background:var(--bg);border-bottom:1px solid var(--border)}.insights-nav-btn{display:inline-flex;align-items:center;min-height:30px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:999px;padding:.3rem .75rem;font-size:.8rem;font-weight:600;cursor:pointer}.insights-nav-btn:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.insight-panel+.insight-panel{margin-top:.75rem}.insight-panel{scroll-margin-top:3.5rem}.gap-card{border:1px solid var(--border);border-radius:9px;padding:.7rem .8rem;margin-top:.7rem}.gap-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.gap-area{font-weight:650;font-size:.95rem}.gap-rec{font-size:.9rem;margin-top:.35rem}.insights-week{margin:0 0 var(--space-md);color:var(--muted);font-size:.9rem}.stats-table{width:100%;border-collapse:collapse;font-size:.85rem;min-width:520px}.stats-table th{text-align:left;font-size:.75rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);padding:.35rem .6rem;border-bottom:1px solid var(--border);white-space:nowrap}.stats-table td,.stats-table tbody th{padding:.4rem .6rem;border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:middle}.stats-table tbody th{font-size:inherit;letter-spacing:normal;text-transform:none;font-weight:600;color:var(--text)}.stats-table tbody tr:last-child td,.stats-table tbody tr:last-child th{border-bottom:none}.stats-table .num{text-align:right;font-variant-numeric:tabular-nums}.stats-table thead .num{text-align:right}.stats-table tbody .link-button{padding:0;font-size:inherit;text-align:left}.stats-table tr.muted td{color:var(--muted)}.stats-table .band-green:before,.stats-table .band-yellow:before{content:"";display:inline-block;width:.55rem;height:.55rem;border-radius:50%;margin-right:.35rem;vertical-align:baseline}.stats-table .band-green:before{background:var(--score-high)}.stats-table .band-yellow:before{background:var(--score-mid)}.hbar{flex:1;height:10px;min-width:3px;background:var(--accent-soft);border-radius:999px;overflow:hidden}.hbar-fill{height:100%;min-width:3px;border-radius:999px}.hbar-accent{background:var(--accent)}.hbar-danger{background:var(--danger)}.hbar-success{background:var(--success)}.hbar-warning{background:var(--warning)}.avail-chip{display:inline-block;margin-top:.2rem;background:var(--chip-avail-bg);color:var(--chip-warn-ink)}.dash-grid{display:grid;grid-template-columns:minmax(320px,.9fr) 1.1fr;gap:.75rem;align-items:start}.dash-col{display:flex;flex-direction:column;gap:.75rem;min-width:0}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:.75rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.1rem 1.2rem;text-align:left;font:inherit;color:inherit;min-width:0}button.stat-card{cursor:pointer}button.stat-card:hover{border-color:var(--accent)}.stat-value{font-size:2rem;font-weight:700;line-height:1.1;overflow-wrap:anywhere}.stat-label{color:var(--muted);font-size:.85rem;margin-top:.25rem}.stat-sub{color:var(--accent);font-size:.78rem;margin-top:.3rem;font-weight:600}.dash-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.1rem 1.2rem}.dash-footer{margin-top:1.25rem;font-size:.82rem;text-align:center}.avail-row{display:flex;align-items:center;gap:.75rem;padding:.55rem 0}.avail-row+.avail-row{border-top:1px solid var(--border)}.avail-info{flex:0 0 auto;min-width:0;width:38%}.avail-name{font-weight:600;font-size:.92rem}@media (max-width: 820px){.dash-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.stat-value{font-size:1.5rem}.stat-card{padding:.9rem 1rem}}.avatar{width:52px;height:52px;border-radius:10px;object-fit:cover;background:var(--accent-soft);flex-shrink:0}.avatar-lg{width:88px;height:88px;border-radius:12px;object-fit:cover;background:var(--accent-soft);flex-shrink:0}.avatar-sm{width:40px;height:40px;border-radius:8px;object-fit:cover;background:var(--accent-soft);flex-shrink:0}.avatar-placeholder{display:inline-flex;align-items:center;justify-content:center;color:var(--muted);overflow:hidden}.avatar-placeholder svg{width:64%;height:64%}.overflow-menu{position:relative;flex:0 0 auto;align-self:flex-start}.overflow-trigger{background:none;border:none;color:var(--muted);cursor:pointer;font-size:1.25rem;line-height:1;padding:.2rem .5rem;border-radius:8px;min-width:44px;min-height:44px}.overflow-trigger:hover,.overflow-trigger[aria-expanded=true]{color:var(--accent);background:var(--accent-soft)}.overflow-list{position:absolute;top:100%;right:0;z-index:30;min-width:11rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-popover);padding:.25rem;display:flex;flex-direction:column}.overflow-item{text-align:left;background:none;border:none;color:var(--text);cursor:pointer;font-size:.85rem;padding:.5rem .6rem;border-radius:6px;white-space:nowrap}.overflow-item:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.overflow-item:disabled{opacity:.5;cursor:default}.overflow-item{display:block}.overflow-item[data-disabled]{opacity:.5;cursor:default}.col-w-status{width:5rem}.col-w-count{width:3.5rem}.col-w-duration{width:4.5rem}.col-w-finished{width:8.5rem}.col-w-err{width:6.5rem}.last-run-line{margin:var(--space-md) 0 var(--space-xs)}.scrape-table{width:100%;border-collapse:collapse;font-size:.85rem;table-layout:fixed;min-width:680px}.scrape-table .col-company{overflow:hidden;text-overflow:ellipsis}.scrape-table th{text-align:left;font-size:.75rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);padding:0 .6rem .5rem;border-bottom:1px solid var(--border);white-space:nowrap}.scrape-table td{padding:.45rem .6rem;border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:middle}.scrape-table tbody tr:last-child td{border-bottom:none}.scrape-table .num{text-align:right;font-variant-numeric:tabular-nums}.scrape-table .run-time{font-variant-numeric:tabular-nums;color:var(--muted)}.scrape-table .run-new{color:var(--success-ink);font-weight:600}.scrape-table .col-company{font-weight:600}.col-status{white-space:nowrap}.run-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:.4rem;background:var(--muted);vertical-align:baseline}.run-success{background:var(--run-success)}.run-partial{background:var(--run-partial)}.run-failed{background:var(--run-failed)}.run-running{background:var(--muted)}.run-open td{border-bottom:none}.run-err-toggle{background:none;border:1px solid var(--danger);color:var(--danger);font-size:.75rem;font-weight:600;padding:.12rem .5rem;border-radius:999px;cursor:pointer;white-space:nowrap}.run-err-toggle:hover{background:#dc26261a}.run-expandable{cursor:pointer}.run-expandable:hover td{background:var(--accent-soft)}.run-caret{width:1em;margin-left:-.9rem;margin-right:.15rem;color:var(--muted);font-size:.8rem}.run-new-badge{color:var(--success-ink);font-weight:700}.run-detail td{padding-top:0}.run-errors{margin:.1rem 0 .4rem;padding-left:1.1rem;color:var(--danger);font-size:.8rem;line-height:1.45;white-space:normal;word-break:break-word}.run-errors li{margin:.15rem 0}.run-newjobs{margin:.1rem 0 .4rem;padding-left:1.1rem;font-size:.82rem;line-height:1.5;white-space:normal}.run-newjobs li{margin:.15rem 0}.run-newjob-tag{margin-left:.5rem;font-size:.75rem;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:0 .4rem}@media (max-width: 640px){.scrape-table{table-layout:auto;min-width:0}.scrape-table .col-new,.scrape-table .col-duration,.scrape-table .col-finished,.scrape-table .col-err{display:none}.run-meta{display:grid;grid-template-columns:auto 1fr;gap:.15rem .9rem;margin:0 0 .4rem;font-size:.85rem}.run-meta>div{display:contents}.run-meta dt{color:var(--muted)}.run-meta dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.run-detail-mobile td{padding-top:.1rem}}.file-drop{display:flex;align-items:center;gap:.5rem;padding:.85rem .75rem;border:1px dashed var(--border);border-radius:var(--radius-control);background:var(--bg);color:var(--muted);cursor:pointer;font-weight:400}.file-drop:hover,.file-drop.dragging{border-color:var(--accent);color:var(--accent)}.file-drop:focus-within{outline:2px solid var(--accent);outline-offset:2px}.file-drop.disabled{opacity:.6;cursor:default}.file-drop-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skeleton{display:flex;flex-direction:column;gap:var(--space-md)}.skeleton-panels{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.skeleton-block{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.55rem}.skeleton-panels .skeleton-block{min-height:9rem}.skeleton-line{height:.75rem;border-radius:999px;background:var(--border)}.skeleton-line-title{width:45%;height:.95rem}.skeleton-line-meta{width:28%}.skeleton-line-body{width:80%}.toast-viewport{position:fixed;right:0;bottom:0;z-index:300;display:flex;flex-direction:column;gap:var(--space-sm);width:380px;max-width:100vw;margin:0;padding:var(--space-lg);list-style:none;outline:none}.toast{display:flex;align-items:center;gap:var(--space-md);padding:.7rem .75rem .7rem 1rem;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-popover)}.toast-error{border-left:4px solid var(--danger)}.toast-message{flex:1;font-size:.9rem}.toast-action{background:none;border:none;padding:.25rem .4rem;color:var(--accent);font:inherit;font-weight:600;cursor:pointer}.toast-close{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;background:none;border:none;color:var(--muted);cursor:pointer}.toast[data-swipe=move]{transform:translate(var(--radix-toast-swipe-move-x))}.toast[data-swipe=cancel]{transform:translate(0)}.toast[data-swipe=end]{transform:translate(var(--radix-toast-swipe-end-x))}@media (max-width: 640px){.toast-viewport{width:100vw;padding:var(--space-lg) 1rem}.toast-close{min-width:44px;min-height:44px}}
