:root{--bg:#f5f7f9;--panel:#fff;--text:#16202a;--muted:#6b7785;--line:#dde3e8;--brand:#193f5f;--brand2:#2c6388;--soft:#eef4f7;--good:#1f7a55;--warn:#a26312}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:#0f2d43;color:white;padding:24px 18px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;margin-bottom:30px}.brand-mark{width:42px;height:42px;border-radius:12px;background:white;color:var(--brand);display:grid;place-items:center;font-weight:800}.brand-name{font-weight:700}.brand-sub{font-size:12px;opacity:.75;margin-top:2px}.sidebar nav{display:grid;gap:8px}.nav-item{border:0;background:transparent;color:white;text-align:left;padding:11px 12px;border-radius:8px;cursor:pointer}.nav-item.active,.nav-item:hover{background:rgba(255,255,255,.12)}.sidebar-note{margin-top:auto;font-size:12px;line-height:1.45;opacity:.65}.main{padding:28px 32px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.topbar h1{margin:0;font-size:28px}.topbar p{margin:5px 0 0;color:var(--muted)}.primary,.secondary{border-radius:8px;padding:10px 14px;cursor:pointer}.primary{background:var(--brand);color:white;border:1px solid var(--brand)}.secondary{background:white;color:var(--text);border:1px solid var(--line)}.view{display:none}.view.active{display:block}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.stat-card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px}.stat-card{padding:18px}.stat-card span{display:block;color:var(--muted);font-size:13px}.stat-card strong{font-size:28px;margin-top:8px;display:block}.panel{padding:18px;margin-bottom:18px}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.panel-header h2{margin:0;font-size:18px}.panel-header p{margin:4px 0 0;color:var(--muted);font-size:13px}.filters{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.filters select,.filters input,.form-grid input,.form-grid select,textarea{width:100%;padding:10px 11px;border:1px solid var(--line);border-radius:8px;background:white}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{color:var(--muted);font-weight:600;text-align:left;padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:11px 10px;border-bottom:1px solid #eef1f4;vertical-align:top}.badge{display:inline-block;padding:4px 7px;border-radius:999px;background:var(--soft);font-size:11px;margin:1px}.score{font-weight:700}.score.high{color:var(--good)}.score.mid{color:var(--warn)}.link-btn{border:0;background:transparent;color:var(--brand2);cursor:pointer;padding:0}.form-panel{max-width:1000px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-grid label,label{font-size:13px;color:var(--muted);display:grid;gap:6px}fieldset{border:1px solid var(--line);border-radius:10px;margin:16px 0;padding:14px}legend{font-weight:600;font-size:13px}.checkbox-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.checkbox-grid label{display:flex;align-items:center;gap:7px;color:var(--text)}textarea{resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}dialog{border:0;border-radius:12px;max-width:680px;width:90%;padding:0;box-shadow:0 20px 60px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(0,0,0,.35)}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:18px;border-bottom:1px solid var(--line)}.dialog-head h3{margin:0}.dialog-head button{border:0;background:transparent;font-size:24px;cursor:pointer}.dialog-head+div{padding:18px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-item{padding:10px;background:#f8fafb;border-radius:8px}.detail-item span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.detail-section{margin-top:16px}.detail-section h4{margin:0 0 8px}.empty{padding:28px;text-align:center;color:var(--muted)}@media(max-width:1000px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.filters{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:repeat(2,1fr)}}
.research-note{padding:13px 14px;background:#f3f7fa;border:1px solid var(--line);border-radius:9px;margin-bottom:16px;font-size:13px;line-height:1.5}.big-score{font-size:24px;font-weight:800;color:var(--brand)}.muted-small{color:var(--muted);font-size:12px}
.search-query-list{display:grid;gap:10px;margin-top:16px}.search-query-card{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:#fafcfd}.search-query-card span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.search-query-card strong{font-size:13px}.query-actions{display:flex;gap:8px;flex-shrink:0}.small-btn{text-decoration:none;padding:7px 10px;font-size:12px}.left-actions{justify-content:flex-start}@media(max-width:700px){.search-query-card{align-items:flex-start;flex-direction:column}.query-actions{width:100%}.query-actions a{flex:1;text-align:center}}
.research-status{font-size:13px;color:#5f6b76;align-self:center;min-height:18px}
.research-status.ok{color:#146c43}.research-status.error{color:#b42318}.research-status.busy{color:#805500}
.bulk-head{gap:14px;flex-wrap:wrap}.bulk-actions{display:flex;gap:8px}.bulk-settings{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:10px}.bulk-settings label{min-width:145px}.bulk-settings input,.bulk-settings select{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:white}.progress-track{height:8px;background:#edf1f4;border-radius:99px;overflow:hidden;margin:8px 0 14px}.progress-bar{height:100%;width:0%;background:var(--brand2);transition:width .2s ease}.candidate-score{font-size:16px;font-weight:800}.candidate-score.high{color:var(--good)}.candidate-score.mid{color:var(--warn)}.contact-stack{display:grid;gap:3px;min-width:160px}.contact-stack small{color:var(--muted)}.status-pill{display:inline-block;padding:4px 7px;border-radius:999px;background:#eef2f5;font-size:11px}.status-pill.done{background:#e7f6ee;color:#146c43}.status-pill.error{background:#fff0ee;color:#b42318}.status-pill.working{background:#fff6df;color:#805500}.candidate-row-qualified{background:#fbfdfc}@media(max-width:800px){.bulk-settings{align-items:stretch}.bulk-settings label,.bulk-settings button{width:100%}}
