:root{color-scheme:light;--bg:#f4f7f5;--surface:#fff;--line:#d0e4d8;--text:#172018;--muted:#5f6b60;--accent:#1a5c38;--warn:#9d5f00;--danger:#9e3020;--danger-soft:#fef0ee;--success-soft:#d4f0df;--warning-soft:#fef3cd}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:DM Sans,Arial,Helvetica,sans-serif}a{color:var(--accent);text-decoration:none}.topbar{align-items:center;background:#102018;color:#fff;display:flex;justify-content:space-between;padding:14px 22px}.topbar span{color:#c4d1c7;display:block;font-size:13px;margin-top:2px}.topbar nav{align-items:center;display:flex;gap:16px}.topbar a{color:#fff}.topbar-logout{background:transparent;border-color:hsla(0,0%,100%,.35);color:#fff;padding:6px 9px}.page{padding:24px}.auth-page{display:grid;min-height:calc(100vh - 68px);place-items:center;padding:24px}.auth-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:18px;gap:18px;max-width:420px;padding:22px;width:100%}.auth-panel h1{margin:0 0 6px}.auth-form{display:grid;grid-gap:14px;gap:14px}.auth-error{background:var(--danger-soft);border:1px solid #efc0ba;border-radius:6px;color:var(--danger);margin:0;padding:8px 10px}.panel,.toolbar{background:var(--surface);border:1px solid var(--line);border-radius:8px;margin-bottom:18px;padding:16px}.toolbar{align-items:center;gap:12px;justify-content:space-between}.filters,.toolbar{display:flex;flex-wrap:wrap}.filters{align-items:flex-end;gap:8px}button,input,select,textarea{border:1px solid var(--line);border-radius:6px;font:inherit;padding:8px 10px}button{background:var(--accent);color:#fff;cursor:pointer;font-weight:600}button.secondary{background:#eef2eb;color:var(--text)}button.danger{background:var(--danger)}button.secondary-danger{background:var(--danger-soft);border-color:#f1c0ba;color:var(--danger)}button:disabled{cursor:not-allowed;opacity:.55}.agent-run-control{align-items:center;display:grid;grid-gap:6px;gap:6px;justify-items:center}.agent-run-spinner{animation:agent-run-spin .8s linear infinite;border:3px solid #f1c0ba;border-top:3px solid var(--danger);border-radius:999px;display:block;height:22px;width:22px}.agent-run-button.running,.agent-run-button.running:disabled{background:var(--danger);border-color:var(--danger);color:#fff;opacity:1}@keyframes agent-run-spin{to{transform:rotate(1turn)}}table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}th{color:var(--muted);text-transform:uppercase}.badge,th{font-size:12px}.badge{border-radius:999px;display:inline-block;padding:3px 8px}.badge.exported,.badge.ready{background:#dff4e8;color:#145638}.badge.duplicate,.badge.review{background:#fff0cf;color:var(--warn)}.badge.excluded,.badge.rejected{background:#f8d7d7;color:var(--danger)}.metric-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.metric-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px}.metric-card strong{display:block;font-size:30px;line-height:1;margin-bottom:6px}.metric-card span{color:var(--muted);font-size:13px;font-weight:600}.agent-run-status{align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(260px,.8fr) minmax(260px,1fr);margin-bottom:18px;padding:12px 16px}.agent-run-status div{display:grid;grid-gap:3px;gap:3px}.agent-run-status span{color:var(--muted);font-size:13px}.agent-run-status.requested,.agent-run-status.running{background:#fffdf4;border-color:#ead99e}.agent-run-status.completed{background:#eef8f1}.agent-run-status.failed{background:var(--danger-soft);border-color:#efc0ba}.agent-run-log{grid-column:1/-1}.agent-run-log summary{color:var(--accent);cursor:pointer;font-size:13px;font-weight:700}.agent-run-log dl{display:grid;grid-gap:8px 14px;gap:8px 14px;grid-template-columns:140px minmax(0,1fr);margin:10px 0 0}.agent-run-log dt{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.agent-run-log dd{margin:0;min-width:0;overflow-wrap:anywhere}.agent-run-log pre{background:hsla(0,0%,100%,.65);border:1px solid var(--line);border-radius:6px;margin:0;max-height:160px;overflow:auto;padding:8px;white-space:pre-wrap}.lead-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(560px,1fr) minmax(420px,1fr);align-items:start}.lead-detail,.lead-sidebar{min-height:560px}.lead-list{display:grid;grid-gap:8px;gap:8px}.lead-filter-row{align-items:center;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;padding-bottom:10px}.filter-dropdown{position:relative}.filter-dropdown summary{background:#fbfdfb;border:1px solid var(--line);border-radius:6px;color:var(--text);cursor:pointer;font-size:13px;font-weight:700;list-style:none;min-width:118px;padding:7px 10px}.filter-dropdown summary::-webkit-details-marker{display:none}.filter-dropdown summary:after{color:var(--muted);content:"▾";float:right;font-size:11px;margin-left:10px}.filter-dropdown[open] summary{background:#eef8f1;border-color:var(--accent)}.filter-menu{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 24px rgba(16,32,24,.12);display:grid;grid-gap:2px;gap:2px;left:0;margin-top:6px;max-height:260px;min-width:220px;overflow:auto;padding:8px;position:absolute;top:100%;z-index:5}.filter-option{align-items:center;border-radius:6px;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:8px;padding:6px 7px}.filter-option:hover{background:#f0f7f2}.filter-option input{margin:0;padding:0}.filter-reset{font-size:13px;padding:7px 10px}.filter-count{color:var(--muted);font-size:13px;font-weight:700;margin-left:auto}.lead-list-header{color:var(--muted);font-size:11px;font-weight:800;margin-bottom:8px;padding:0 12px;text-transform:uppercase}.lead-list-header,.lead-row{display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(160px,1.5fr) 58px minmax(115px,.9fr) minmax(130px,1fr) 80px}.lead-row{align-items:center;background:#fbfdfb;border:1px solid transparent;color:var(--text);padding:12px;text-align:left;width:100%}.lead-row.is-selected,.lead-row:hover{background:#f0f7f2;border-color:var(--line)}.lead-row-main{display:grid;grid-gap:3px;gap:3px;min-width:0}.lead-row-main span,.lead-row-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lead-row-main span{color:var(--muted);font-size:13px;font-weight:400}.score-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:13px;font-weight:700;justify-content:center;min-width:42px;padding:5px 9px}.score-badge.large{align-items:center;flex-direction:column;font-size:26px;gap:2px;min-width:86px;padding:10px 14px}.score-badge small{font-size:11px;font-weight:600}.score-high{background:var(--success-soft);color:#155a2d}.score-mid{background:var(--warning-soft);color:#7d4a00}.score-empty,.score-low{background:#edf1ed;color:var(--muted)}.status-pill{align-items:center;color:var(--muted);display:inline-flex;font-size:12px;font-weight:600;gap:6px}.status-pill span{background:currentColor;border-radius:999px;display:inline-block;height:7px;width:7px}.status-pill.exported,.status-pill.ready{color:#155a2d}.status-pill.duplicate,.status-pill.review{color:#7d4a00}.status-pill.excluded,.status-pill.rejected{color:var(--danger)}.software-tag,.tag-chip,.trend-pill{background:#eef5f0;border:1px solid var(--line);border-radius:999px;color:#214a34;display:inline-flex;font-size:12px;font-weight:600;justify-self:start;padding:4px 8px}.trend-pill{justify-content:center;text-transform:lowercase}.trend-pill.positive{background:var(--success-soft);color:#155a2d}.trend-pill.negative{background:var(--danger-soft);border-color:#efc0ba;color:var(--danger)}.trend-pill.neutral{background:#edf1ed;color:var(--muted)}.detail-heading{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.detail-heading h2{margin-bottom:4px}.lead-alert{background:#eef8f1;border:1px solid var(--line);border-radius:8px;padding:12px}.lead-alert p{margin-bottom:0}.field-grid{display:grid;grid-gap:10px 16px;gap:10px 16px;grid-template-columns:minmax(120px,.35fr) minmax(0,1fr);margin:0}.field-grid dt{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.field-grid dd{margin:0;min-width:0}.review-actions{align-items:center;border-top:1px solid var(--line);justify-content:space-between;padding-top:14px}.review-actions>div{display:flex;flex-wrap:wrap;gap:8px}.empty-state{margin-bottom:0}.muted{color:var(--muted)}.setup-warning{background:#fff7df;border:1px solid #e3c575;border-radius:8px;color:#5f4300;margin-bottom:14px;padding:12px}.setup-warning pre{background:#fffdf4;border:1px solid #ead99e;border-radius:6px;overflow-x:auto;padding:10px}.stack{display:grid;grid-gap:10px;gap:10px}.actions{display:flex;flex-wrap:wrap;gap:8px}.section-label{color:var(--muted);font-size:12px;font-weight:800;letter-spacing:0;margin-bottom:12px;text-transform:uppercase}.scope-page{display:grid;grid-gap:18px;gap:18px}.scope-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.scope-card{margin-bottom:0}.form-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(0,1fr) minmax(120px,180px);margin-bottom:18px}label{display:grid;grid-gap:6px;gap:6px;font-weight:700}.hint{color:var(--muted);font-size:13px;font-weight:400;margin:0}.tag-field{display:grid;grid-gap:12px;gap:12px}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag-chip{background:#edf7f0;color:#1f5536;gap:8px}.tag-chip span{color:inherit;font-weight:800}.tag-chip.danger{background:var(--danger-soft);border-color:#efc0ba;color:var(--danger)}.tag-add{display:grid;grid-gap:8px;gap:8px;grid-template-columns:minmax(0,1fr) auto}.scope-footer{align-items:center;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between}.saved-pill{background:var(--success-soft);border-radius:999px;color:#155a2d;font-size:13px;font-weight:700;padding:6px 10px}.user-create-form{align-items:end;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(190px,1fr) minmax(160px,.8fr) minmax(120px,.5fr) minmax(180px,.8fr) auto}.user-list{display:grid;grid-gap:10px;gap:10px}.user-row{align-items:center;background:#fbfdfb;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(240px,1fr) 140px 120px minmax(140px,auto) auto;padding:12px}.user-row>div:first-child{display:grid;grid-gap:3px;gap:3px}.user-row>div:first-child span{color:var(--muted);font-size:13px}@media (max-width:980px){.metric-grid,.scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lead-grid{grid-template-columns:1fr}}@media (max-width:680px){.page{padding:14px}.form-grid,.metric-grid,.scope-grid,.user-create-form,.user-row{grid-template-columns:1fr}.detail-heading,.review-actions,.scope-footer{align-items:stretch;flex-direction:column}.agent-run-log dl,.agent-run-status,.field-grid{grid-template-columns:1fr}.lead-list-header{display:none}.lead-filter-row{align-items:stretch;display:grid;grid-template-columns:1fr 1fr}.filter-count{grid-column:1/-1;margin-left:0}.filter-menu{min-width:min(260px,86vw)}.lead-row{grid-template-columns:minmax(0,1fr) auto}.lead-row .software-tag,.lead-row .status-pill,.lead-row .trend-pill{grid-column:1/-1}}