:root{color:#303236;font-synthesis:none;text-rendering:optimizelegibility;--navy:#25272b;--teal:#b4232f;--teal-dark:#8f1722;--red:#b4232f;--red-dark:#861620;--red-soft:#fbf0f1;--red-border:#dfabb0;--text:#34363a;--muted:#6d7279;--border:#dfe1e4;--surface:#fff;--success:#247a55;--warning:#a66f1d;--info:#4f6f8f;--neutral:#667085;--critical:#8f1722;--shadow:0 2px 7px #1c1e210d;background:#f4f5f6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#f4f5f6;min-width:320px}body{min-width:320px;min-height:100vh;margin:0;font-size:15px;line-height:1.5}button,input,select{font-family:inherit}button{-webkit-tap-highlight-color:transparent}::selection{color:#fff;background:var(--teal)}.app-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;min-height:84px;padding:0 clamp(24px,4vw,64px);display:flex}.brand{align-items:center;gap:15px;display:flex}.brand-mark{box-sizing:border-box;background:var(--red);border-radius:7px;align-items:flex-end;gap:3px;width:40px;height:40px;padding:8px;display:flex}.brand-mark i{background:#fff;border-radius:1px 1px 0 0;width:6px;display:block}.brand-mark i:first-child{height:10px}.brand-mark i:nth-child(2){height:17px}.brand-mark i:nth-child(3){height:24px}.brand-line{align-items:center;gap:12px;display:flex}.brand h1{letter-spacing:-.45px;color:var(--navy);margin:0;font-size:22px}.brand p{color:var(--muted);margin:2px 0 0;font-size:12px}.header-actions{justify-content:flex-end;align-items:center;gap:18px;display:flex}.admin-session{align-items:center;gap:8px;display:flex}.admin-identity{flex-direction:column;align-items:flex-end;max-width:190px;display:flex}.admin-identity strong{color:var(--red-dark);font-size:11px}.admin-identity span{max-width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.prototype-badge,.demo-mode{letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:700}.prototype-badge{color:var(--red-dark);background:var(--red-soft);border:1px solid #efd0d3;border-radius:4px;padding:4px 8px}.demo-mode{color:var(--muted);align-items:center;gap:8px;display:flex}.demo-mode span{background:var(--red);width:7px;height:7px;box-shadow:0 0 0 4px var(--red-soft);border-radius:50%}.demo-mode.status-database span{background:var(--success);box-shadow:0 0 0 4px #eaf5ef}.demo-mode.status-fallback span{background:var(--warning);box-shadow:0 0 0 4px #fff4df}main{width:min(1800px,100% - clamp(32px,6vw,96px));margin:28px auto 48px}.demo-notice{color:#4a3b3d;border:1px solid #e5c9cc;border-left:4px solid var(--red);background:#fdf8f8;border-radius:7px;align-items:center;gap:13px;margin-bottom:22px;padding:15px 18px;display:flex}.notice-icon{width:24px;height:24px;color:var(--red-dark);border:1px solid #d39ba0;border-radius:50%;flex:none;place-items:center;font:700 13px Georgia,serif;display:grid}.demo-notice strong{font-size:13px}.demo-notice p{color:#6e5e60;margin-left:9px;font-size:13px;display:inline}.data-notice,.loading-state{color:#42464a;border:1px solid var(--border);background:#fff;border-left:4px solid #8d9298;border-radius:7px;align-items:center;gap:13px;min-height:58px;margin-bottom:22px;padding:14px 18px;display:flex}.data-notice strong,.loading-state strong{font-size:13px}.data-notice p,.loading-state p{color:var(--muted);margin:0 0 0 9px;font-size:13px;display:inline}.data-notice-live{border-left-color:var(--success);background:#fbfdfc}.data-notice-live .notice-icon{color:var(--success);border-color:#a9cdbb}.data-notice-error{border-left-color:var(--warning);background:#fffbf4}.data-notice-error .notice-icon{color:#79510f;border-color:#dfbd82}.loading-state{justify-content:center;min-height:110px}.loading-state p{margin:3px 0 0;display:block}.loading-indicator{border:3px solid #e3e5e7;border-top-color:var(--red);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite loading-spin}@keyframes loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-indicator{border-color:var(--red-border);animation:none}}.metrics-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px;display:grid}.metric-card{box-sizing:border-box;border:1px solid var(--border);min-height:84px;box-shadow:var(--shadow);background:#fff;border-radius:8px;align-items:center;gap:13px;padding:16px 18px;display:flex}.metric-dot{background:#a9adb2;border-radius:9px;width:7px;height:36px}.metric-card div{flex-direction:column;display:flex}.metric-card strong{color:var(--navy);font-size:26px;line-height:1.1}.metric-card span:last-child{color:var(--muted);font-size:12px;font-weight:600}.metric-signal .metric-dot{background:#969ba1}.metric-qualified .metric-dot{background:#d1767e}.metric-lead .metric-dot,.metric-high .metric-dot{background:var(--red)}.filter-section{--dropdown-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='%2359636b' d='M2.25 4.25 6 8l3.75-3.75z'/%3E%3C/svg%3E");border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:8px;margin-bottom:28px;padding:18px 20px 16px}.filter-grid{grid-template-columns:repeat(4,minmax(145px,1fr));align-items:end;gap:13px;display:grid}.filter-field:first-child{grid-column:span 2}.quick-filter{color:#536474;align-items:center;gap:8px;min-height:40px;font-size:11px;font-weight:750;display:flex}.filter-field{flex-direction:column;gap:6px;display:flex}.filter-field label{color:#536474;letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:700}.input-wrap{position:relative}.input-wrap svg{color:#7c8b97;width:16px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}input,select,textarea{box-sizing:border-box;width:100%;height:40px;color:var(--text);font:inherit;background:#fbfcfd;border:1px solid #cfd7de;border-radius:5px;padding:0 12px;font-size:13px}.input-wrap input{padding-left:38px}input::placeholder{color:#9aa6af}textarea{resize:vertical;height:auto;min-height:76px;padding:10px 12px;line-height:1.45}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{border-color:var(--red);outline:3px solid #b4232f33}input[type=checkbox]{width:16px;height:16px;accent-color:var(--red);flex:none;padding:0}.reset-button{color:#425664;height:40px;font:inherit;cursor:pointer;background:#fff;border:1px solid #bdc8d0;border-radius:5px;padding:0 16px;font-size:12px;font-weight:700}.reset-button:hover{color:var(--red-dark);background:var(--red-soft);border-color:var(--red-border)}.filter-summary{color:var(--muted);margin-top:13px;font-size:12px}.filter-summary strong{color:var(--text)}.work-filter-field,.work-filter{position:relative}.work-filter summary{box-sizing:border-box;height:40px;color:var(--text);cursor:pointer;background:#fbfcfd;border:1px solid #cfd7de;border-radius:5px;justify-content:space-between;align-items:center;padding:0 12px;font-size:14px;list-style:none;display:flex}.filter-field>select,.work-filter summary{background-image:var(--dropdown-chevron);background-position:right 12px center;background-repeat:no-repeat;background-size:12px 12px;padding-right:36px}.filter-field>select{appearance:none}.work-filter summary::-webkit-details-marker{display:none}.work-filter[open] summary{border-color:var(--red);outline:3px solid #b4232f1f}.work-filter-menu{z-index:20;box-sizing:border-box;border:1px solid #c8d0d6;border-top:3px solid var(--red);background:#fff;border-radius:5px;flex-direction:column;gap:2px;width:min(310px,100vw - 48px);max-height:360px;padding:8px;display:flex;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 12px 28px #1f212429}.work-filter-menu label{color:#3f4d57;letter-spacing:normal;text-transform:none;cursor:pointer;border-radius:4px;align-items:center;gap:9px;min-height:34px;padding:5px 7px;font-size:13px;font-weight:650;display:flex}.work-filter-menu label:hover{background:var(--red-soft)}.work-filter-menu button{color:var(--red-dark);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:8px 7px;font-size:12px;font-weight:750}.work-filter-menu button:hover{background:var(--red-soft)}.work-filter-menu .work-filter-reset{border-top:1px solid #e3e6e8;border-radius:0;margin-top:5px}.work-filter-menu small{color:var(--muted);padding:9px 7px;font-size:11px;line-height:1.4}.workspace{grid-template-columns:minmax(560px,1.22fr) minmax(430px,.78fr);align-items:start;gap:22px;display:grid}.project-panel,.detail-panel{min-width:0}.section-heading{justify-content:space-between;align-items:end;margin-bottom:14px;display:flex}.eyebrow{color:var(--red-dark);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:800}.section-heading h2,.detail-title h2{color:var(--navy);margin:3px 0 0;font-size:19px}.result-count{color:var(--muted);font-size:12px}.project-list{flex-direction:column;gap:10px;display:flex}.project-card{text-align:left;width:100%;color:inherit;border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-left:4px solid #0000;border-radius:7px;padding:0;transition:border-color .15s,transform .15s,box-shadow .15s}.project-card:hover{border-color:#c8aeb1;transform:translateY(-1px);box-shadow:0 5px 14px #1f212414}.project-card.selected{border-color:#cf8d93;border-left-color:var(--red);box-shadow:0 0 0 1px #b4232f14, var(--shadow);background:snow}.project-card.relevance-high:not(.selected){border-left-color:#d99298}.project-card-select{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:17px 18px 15px;display:block}.project-card-select:focus-visible{outline-offset:-3px}.card-admin-actions{background:#fafafa;border-top:1px solid #eceef0;border-radius:0 0 6px 3px;justify-content:flex-end;padding:9px 18px;display:flex}.button-edit{color:var(--red-dark);border:1px solid var(--red-border);font:inherit;cursor:pointer;background:#fff;border-radius:4px;padding:6px 10px;font-size:11px;font-weight:750}.button-edit:hover{background:var(--red-soft)}.card-top{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.project-id{color:#8a98a3;letter-spacing:.07em;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:700;display:block}.card-title{color:var(--navy);margin:0;font-size:15px;line-height:1.35}.primary-statuses{flex-direction:column;align-items:flex-end;gap:7px;max-width:210px;display:flex}.pill{text-align:center;white-space:normal;border-radius:4px;flex:none;justify-content:center;align-items:center;min-height:26px;padding:5px 9px;font-size:10px;font-weight:800;line-height:1.25;display:inline-flex}.pill-signal{color:#53575c;background:#f5f5f6;border:1px solid #cdd0d4}.pill-qualified{color:var(--red-dark);background:var(--red-soft);border:1px solid var(--red-border)}.pill-lead{color:#fff;background:var(--red);border:1px solid var(--red)}.relevance-badge{white-space:nowrap;border-radius:4px;justify-content:center;align-items:center;min-height:29px;padding:6px 10px;font-size:11px;font-weight:850;line-height:1.2;display:inline-flex}.relevance-badge:before{content:"◆";margin-right:6px;font-size:7px}.relevance-badge-high{color:#fff;background:var(--red-dark);border:1px solid var(--red-dark)}.relevance-badge-medium{color:#7f1a23;background:#fbeaec;border:1px solid #e3aeb3}.relevance-badge-low{color:#5d6065;background:#f1f2f3;border:1px solid #d3d5d8}.card-meta{color:#555b61;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:12px 0 13px;font-size:11px;display:flex}.contractor-focus{background:#f7f8f8;border:1px solid #e0e3e5;border-left:3px solid #a8afb5;border-radius:5px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;margin-top:13px;padding:12px;display:grid}.contractor-focus>div{min-width:0}.contractor-focus>div span,.contractor-focus>div small{display:block}.contractor-focus>div span{color:#777c82;letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:800}.contractor-focus>div strong{color:#334b5a;overflow-wrap:anywhere;margin-top:2px;font-size:12px;display:block}.contractor-focus>div small{color:#68737b;margin-top:3px;font-size:10px}.contractor-focus-concrete{border-color:#b9d8c8;border-left-color:var(--success);background:#eef7f2}.contractor-badge,.concrete-indicator{text-align:center;border-radius:4px;align-items:center;min-height:25px;padding:4px 8px;font-size:9px;font-weight:800;line-height:1.25;display:inline-flex}.contractor-badge{color:#5d6166;background:#f1f2f3;border:1px solid #d3d5d8}.contractor-progress{color:#535f67;background:#eef3f6;border-color:#cbd8df}.contractor-probable{color:#79510f;background:#fff8eb;border-color:#ead3a8}.contractor-confirmed{color:#36566a;background:#eef5f8;border-color:#bfd2dc}.contractor-concrete{color:#17583d;background:#e4f5eb;border-color:#97cbb0}.concrete-indicator{color:#6d7278;background:#fff;border:1px solid #d9dcdf}.concrete-indicator.is-confirmed{color:#17583d;background:#e4f5eb;border-color:#97cbb0}.contact-focus{background:#fafafa;border:1px solid #e2e4e6;border-left:3px solid #adb3b8;border-radius:5px;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:9px;margin-top:8px;padding:10px 12px;display:grid}.contact-focus>div{min-width:0}.contact-focus>div span,.contact-focus>div small{display:block}.contact-focus>div span{color:#777c82;letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:800}.contact-focus>div strong{color:#3c515e;overflow-wrap:anywhere;margin-top:2px;font-size:11px;display:block}.contact-focus>div small{color:#6f797f;margin-top:2px;font-size:9px}.contact-focus-confirmed{border-color:#b3d9c5;border-left-color:var(--success);background:#edf8f2}.contact-focus-probable,.contact-focus-department,.contact-focus-general{background:#f5f9fa;border-left-color:#7898aa}.contact-badge,.contact-quality,.contact-ready-badge{text-align:center;border-radius:4px;justify-content:center;align-items:center;min-height:24px;padding:4px 7px;font-size:9px;font-weight:800;line-height:1.25;display:inline-flex}.contact-badge{color:#5d6166;background:#f1f2f3;border:1px solid #d3d5d8}.contact-progress{color:#535f67;background:#eef3f6;border-color:#cbd8df}.contact-general{color:#435f70;background:#f0f6f8;border-color:#c6d8e0}.contact-department{color:#31596e;background:#eaf4f8;border-color:#b8d2dd}.contact-probable{color:#79510f;background:#fff8eb;border-color:#ead3a8}.contact-confirmed{color:#17583d;background:#e4f5eb;border-color:#97cbb0}.contact-quality{color:#56636b;background:#fff;border:1px solid #d8dde0}.contact-ready-badge{color:#70767b;background:#fff;border:1px solid #dadde0}.contact-ready-badge.is-ready{color:#31596e;background:#eaf4f8;border-color:#b8d2dd}.contact-ready-badge.is-direct{color:#fff;background:#267553;border-color:#267553}.card-meta span{align-items:center;gap:6px;display:inline-flex}.card-meta svg{color:#82939f;width:13px;height:13px}.work-summary{color:#435560;border:1px solid #dce2e5;border-left:3px solid var(--red);background:#f5f7f8;border-radius:5px;margin:0 0 13px;padding:11px 12px}.work-summary>span,.work-summary>strong,.work-summary>small{display:block}.work-summary>span{color:#6a747c;letter-spacing:.045em;text-transform:uppercase;margin-bottom:3px;font-size:10px;font-weight:800}.work-summary>strong{color:#2f4858;font-size:14px;line-height:1.4}.work-summary>small{color:#68737b;margin-top:4px;font-size:11px;line-height:1.4}.work-summary .work-radius-warning{color:#7a5012;font-weight:750}.work-summary-empty{border-left-color:#aab2b8}.work-match-list{flex-direction:column;gap:7px;margin:0 0 18px;padding:0;list-style:none;display:flex}.work-match-list li{background:#fafbfb;border:1px solid #dde2e5;border-left:3px solid #aab2b8;border-radius:5px;justify-content:space-between;align-items:center;gap:18px;padding:12px 13px;display:flex}.work-match-list li.work-match-primary{border-color:#e4c1c4;border-left-color:var(--red);background:#fff8f8}.work-match-list li>div:first-child{min-width:0}.work-match-list li>div:first-child strong,.work-match-list li>div:first-child span,.work-match-distance>span{display:block}.work-match-list li>div:first-child strong{color:#2f4858;font-size:14px}.work-match-list li>div:first-child span{color:#717b82;margin-top:3px;font-size:11px;line-height:1.35}.work-match-distance{text-align:right;flex:none}.work-match-distance>strong{color:#2f4858;font-size:15px}.work-match-distance>span{margin-top:2px;font-size:10px;font-weight:750}.work-within{color:#216b4c}.work-outside{color:#7a5012}.work-primary-label{color:var(--red-dark);text-transform:uppercase;letter-spacing:.035em}.legacy-work-fallback{background:#f7f8f8;border:1px solid #dde2e5;border-left:3px solid #aab2b8;border-radius:5px;margin-bottom:18px;padding:13px}.legacy-work-fallback strong,.legacy-work-fallback span{display:block}.legacy-work-fallback strong{color:#2f4858}.legacy-work-fallback span{color:#68737b;margin-top:4px;font-size:11px}.confidence-badge{color:#5d6166;background:#f3f4f5;border:1px solid #d9dcdf;border-radius:4px;padding:4px 7px;font-weight:700}.confidence-badge i{background:#8c9197;border-radius:50%;width:6px;height:6px}.confidence-confirmed{color:#205d43;background:#eef7f2;border-color:#b9d8c8}.confidence-confirmed i{background:var(--success)}.confidence-probable{color:#53575c;background:#f4f5f5}.confidence-probable i{background:#777c82}.confidence-uncertain,.confidence-review{color:#79510f;background:#fff8eb;border-color:#ead3a8}.confidence-uncertain i,.confidence-review i{background:#b87917}.card-facts{border-top:1px solid #edf0f2;grid-template-columns:1fr 1fr;gap:16px;padding-top:12px;display:grid}.fact span,.detail-item dt{color:#777c82;letter-spacing:.05em;text-transform:uppercase;margin-bottom:3px;font-size:10px;font-weight:800;display:block}.fact strong{color:#435563;font-size:11px;font-weight:650}.detail-panel{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:8px;position:sticky;top:20px;overflow:hidden}.detail-header{color:#fff;border-top:4px solid var(--red);background:#292b2f;padding:20px 22px 17px}.detail-kicker{color:#9fb2c0;text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;margin-bottom:13px;font-size:10px;display:flex}.demo-chip{color:#ffd9dc;background:#b4232f33;border:1px solid #e8868f73;border-radius:4px;padding:4px 7px;font-weight:700}.detail-title{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.detail-title h2{color:#fff;font-size:19px;line-height:1.35}.detail-body{padding:20px 22px 22px}.detail-description{color:#536777;margin:0 0 19px;font-size:12px;line-height:1.6}.score-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px;display:grid}.score-card{background:#f5f7f8;border:1px solid #e5eaed;border-radius:5px;padding:11px}.score-card span{color:#73787e;text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:800;display:block}.score-card strong{color:#393d42;margin-top:3px;font-size:12px;display:block}.score-card small{color:#6d7278;margin-top:3px;font-size:10px;line-height:1.3;display:block}.score-bar{background:#dfe1e3;border-radius:4px;height:3px;margin-top:8px;overflow:hidden}.score-bar i{background:#888d93;height:100%;display:block}.score-relevance .score-bar i{background:var(--red)}.score-confidence.confidence-confirmed .score-bar i{background:var(--success)}.score-confidence.confidence-uncertain .score-bar i,.score-confidence.confidence-review .score-bar i{background:#b87917}.detail-section{border-top:1px solid #e8ecef;padding:17px 0}.detail-section:first-of-type{border-top:0;padding-top:0}.detail-section h3{color:var(--navy);margin:0 0 13px;font-size:12px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;margin:0;display:grid}.detail-item{min-width:0}.detail-item dd{color:#3d5260;overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.45}.unknown{font-style:italic;color:#8b979f!important}.qualification-explainer{color:#5d4245;background:var(--red-soft);border-left:3px solid var(--red);border-radius:4px;padding:13px 14px;font-size:11px;line-height:1.55}.qualification-guidance{color:#53616b;background:#f4f7f8;border-left:3px solid #8ca0ad;border-radius:4px;flex-direction:column;gap:5px;padding:12px 14px;font-size:10px;line-height:1.45;display:flex}.checkbox-field{justify-content:center}.checkbox-field label{align-items:center;gap:8px;min-height:40px;display:flex}.form-message-warning,.lead-warning{color:#755112;background:#fff8eb;border:1px solid #ead3a8}.lead-warning{border-radius:5px;margin-top:10px;padding:10px 12px;font-size:11px}.contractor-detail-status{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.contractor-source{margin-top:15px}.contact-detail-status{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.contact-link{color:var(--red-dark);overflow-wrap:anywhere;font-weight:700}.contact-link:hover{text-decoration-thickness:2px}.contact-source{margin-top:12px}.action-recommendation{color:#385469;background:#eef5f8;border-left:3px solid #6e95aa;border-radius:5px;flex-direction:column;gap:4px;margin-top:15px;padding:13px 14px;display:flex}.action-recommendation span{letter-spacing:.05em;text-transform:uppercase;font-size:9px;font-weight:800}.source-note{color:#796346;background:#fff8ed;border:1px solid #f0dec2;border-radius:5px;gap:9px;padding:12px;font-size:11px;display:flex}.source-note strong{color:#684f30;display:block}.source-note p{margin:2px 0 0}.real-source{background:#f7f7f8;border:1px solid #dedfe2;border-radius:5px;justify-content:space-between;align-items:center;gap:16px;padding:13px 14px;display:flex}.real-source div>span{color:#73787e;letter-spacing:.05em;text-transform:uppercase;margin-bottom:2px;font-size:10px;font-weight:800;display:block}.real-source strong{color:#393d42;font-size:12px;display:block}.real-source small{color:#73787e;margin-top:3px;font-size:10px;display:block}.real-source a{color:#fff;background:var(--red);border-radius:4px;flex:none;padding:8px 10px;font-size:11px;font-weight:750;text-decoration:none}.real-source a:hover{background:var(--red-dark)}.real-source a:focus-visible{outline-offset:2px;outline:3px solid #b4232f40}.empty-state{text-align:center;background:#fff;border:1px dashed #cbd4da;border-radius:8px;padding:50px 20px}.empty-state strong{color:var(--navy)}.empty-state p{color:var(--muted);font-size:13px}.empty-state button{color:#fff;background:var(--red);cursor:pointer;border:0;border-radius:4px;margin-top:12px;padding:8px 12px}.button-primary,.button-secondary{min-height:38px;font:inherit;cursor:pointer;border-radius:5px;padding:8px 14px;font-size:12px;font-weight:750}.button-primary{color:#fff;background:var(--red);border:1px solid var(--red)}.button-primary:hover{background:var(--red-dark);border-color:var(--red-dark)}.button-secondary{color:#45494e;background:#fff;border:1px solid #bfc3c7}.button-secondary:hover{color:var(--red-dark);border-color:var(--red-border);background:var(--red-soft)}.button-compact{white-space:nowrap;min-height:34px;padding:6px 10px;font-size:11px}button:disabled{cursor:not-allowed;opacity:.6}.toast-message{color:#285f46;background:#f1f8f4;border:1px solid #bcd9c9;border-radius:6px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:12px 15px;font-size:12px;display:flex}.toast-message button{color:inherit;cursor:pointer;background:0 0;border:0;font-size:20px}.modal-backdrop{z-index:1000;background:#18191b8f;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.login-dialog,.project-form-dialog,.import-dialog{box-sizing:border-box;border:1px solid #cfd1d4;border-top:4px solid var(--red);background:#fff;border-radius:8px;width:min(460px,100%);max-height:calc(100vh - 40px);padding:24px;overflow:auto;box-shadow:0 22px 55px #0000003d}.project-form-dialog,.import-dialog{flex-direction:column;width:min(1040px,100%);height:min(900px,100vh - 40px);padding-bottom:0;display:flex;overflow:hidden}.modal-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.modal-heading h2{color:var(--navy);margin:3px 0 0;font-size:21px}.modal-close{color:#676b70;cursor:pointer;background:#f4f4f5;border:1px solid #d9dbdd;border-radius:50%;width:34px;height:34px;padding:0;font-size:23px;line-height:1}.modal-intro{color:var(--muted);margin:12px 0 20px;font-size:12px;line-height:1.5}.form-field{flex-direction:column;gap:5px;min-width:0;display:flex}.form-field label{color:#555a60;font-size:11px;font-weight:750}.login-dialog .form-field+.form-field{margin-top:14px}.field-error{color:#9a202b;font-size:10px;line-height:1.35}[aria-invalid=true]{background:#fff9f9;border-color:#c44a55}.form-message{border-radius:5px;margin-top:15px;padding:10px 12px;font-size:11px;line-height:1.45}.form-message-error{color:#7e1c25;background:#fff1f2;border:1px solid #e4b3b8}.modal-actions{justify-content:flex-end;gap:9px;margin-top:20px;display:flex}.project-form{flex-direction:column;flex:1;min-height:0;display:flex}.project-form-scroll{min-height:0;padding:2px 7px 24px 2px;overflow-y:auto}.project-form fieldset{background:#fcfcfc;border:1px solid #dfe1e3;border-radius:7px;margin:0 0 14px;padding:18px}.project-form legend{color:var(--navy);padding:0 7px;font-size:12px;font-weight:800}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;display:grid}.form-field-wide{grid-column:1/-1}.calculation-preview{color:#5d4245;background:var(--red-soft);border-left:3px solid var(--red);border-radius:5px;flex-direction:column;gap:3px;margin-top:16px;padding:14px;display:flex}.calculation-preview span{letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:800}.calculation-preview strong{color:var(--red-dark);font-size:18px}.calculation-preview small{color:#766468;font-size:10px}.project-form-actions{background:#fff;border-top:1px solid #dedfe2;flex:none;margin:0;padding:14px 0 16px}.import-progress{color:var(--red-dark);background:var(--red-soft);border:1px solid var(--red-border);border-radius:4px;margin-top:7px;padding:4px 7px;font-size:10px;font-weight:800;display:inline-flex}.import-dialog-scroll{min-height:0;padding:2px 7px 24px 2px;overflow-y:auto}.json-input{tab-size:2;min-height:270px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.5}.import-input-actions{justify-content:flex-end;gap:9px;margin-top:10px;display:flex}.import-preview{margin-top:22px}.import-preview-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px;display:flex}.import-preview-heading h3{color:var(--navy);margin:3px 0 0;font-size:17px}.import-preview-heading>span{color:var(--muted);font-size:11px}.import-results{flex-direction:column;gap:12px;display:flex}.import-result{border:1px solid #d9dcdf;border-left:4px solid var(--success);background:#fff;border-radius:6px;padding:15px}.import-result-invalid{background:#fffcf7;border-left-color:#b87917}.import-result-concrete{border-left-color:var(--success);background:#fbfefc}.import-result-contact{background:#f7fdf9;border-left-color:#267553}.import-result-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.import-select,.duplicate-confirmation{color:#454a50;cursor:pointer;align-items:flex-start;gap:8px;font-size:11px;font-weight:750;display:flex}.validation-status{border-radius:4px;padding:4px 7px;font-size:10px;font-weight:800}.status-valid{color:#205d43;background:#eef7f2;border:1px solid #b9d8c8}.status-invalid{color:#79510f;background:#fff7e8;border:1px solid #e6c68f}.import-result h4{color:var(--navy);margin:12px 0;font-size:14px}.import-summary-grid{border-top:1px solid #eceef0;border-bottom:1px solid #eceef0;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 14px;padding:12px 0;display:grid}.import-summary-grid span{color:#41464b;overflow-wrap:anywhere;min-width:0;font-size:11px}.import-summary-grid small{color:#7a7f85;letter-spacing:.04em;text-transform:uppercase;margin-bottom:3px;font-size:9px;font-weight:800;display:block}.import-findings{border-radius:5px;margin-top:10px;padding:10px 11px;font-size:10px;line-height:1.45}.import-findings strong{margin-bottom:4px;display:block}.import-findings ul{margin:0;padding-left:18px}.import-errors{color:#7e1c25;background:#fff1f2;border:1px solid #e4b3b8}.import-warnings{color:#755112;background:#fff8eb;border:1px solid #ead3a8}.duplicate-confirmation{color:#713b12;background:#fff6e8;border:1px solid #e2bd81;border-radius:5px;margin-top:10px;padding:10px 11px}.import-actions{background:#fff;border-top:1px solid #dedfe2;flex:none;margin:0;padding:14px 0 16px}footer{color:#81909b;border-top:1px solid var(--border);background:#fff;justify-content:space-between;padding:20px clamp(24px,4vw,64px);font-size:11px;display:flex}@media (width<=1100px){.metrics-grid,.filter-grid{grid-template-columns:repeat(2,1fr)}.filter-field:first-child{grid-column:span 2}.workspace{grid-template-columns:1fr}.detail-panel{position:static}.project-panel{max-width:none}.import-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.topbar{flex-wrap:wrap;min-height:76px;padding:10px 16px}.demo-mode,.admin-identity{display:none}.header-actions{gap:6px;width:100%}.admin-session{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;display:grid}.admin-session .button-compact{white-space:normal;padding-inline:5px}.brand p{font-size:10px}.prototype-badge{display:none}main{width:calc(100% - 24px);margin-top:16px}.demo-notice,.data-notice{align-items:flex-start}.demo-notice p,.data-notice p{margin:3px 0 0;display:block}.metrics-grid{grid-template-columns:repeat(2,1fr)}.metric-card{min-height:72px;padding:13px}.metric-card strong{font-size:22px}.filter-section{padding:15px}.filter-grid{grid-template-columns:1fr}.filter-field:first-child{grid-column:auto}.reset-button{width:100%}.card-top{display:block}.primary-statuses{align-items:flex-start;max-width:none;margin-top:10px}.card-top .pill{margin-top:0}.relevance-badge{white-space:normal}.contractor-focus,.contact-focus{grid-template-columns:1fr;align-items:start}.contractor-focus .contractor-badge,.contractor-focus .concrete-indicator,.contact-focus .contact-badge,.contact-focus .contact-quality,.contact-focus .contact-ready-badge{justify-self:start}.card-facts{grid-template-columns:1fr}.detail-header,.detail-body{padding-left:17px;padding-right:17px}.detail-title{display:block}.detail-title .pill{margin-top:10px}.score-grid,.detail-grid{grid-template-columns:1fr}.real-source{flex-direction:column;align-items:flex-start}.real-source a{text-align:center;width:100%}.modal-backdrop{padding:0}.login-dialog,.project-form-dialog,.import-dialog{border:0;border-top:4px solid var(--red);border-radius:0;width:100%;height:100vh;max-height:100vh}.form-grid,.import-summary-grid{grid-template-columns:1fr}.form-field-wide{grid-column:auto}.import-result-header,.import-preview-heading{flex-direction:column;align-items:flex-start}.import-input-actions,.import-actions{grid-template-columns:1fr;display:grid}.import-input-actions button,.import-actions button{width:100%}footer{text-align:center;display:block}footer span{display:block}}.signal-review-dialog{border:1px solid #bfc4c8;border-top:4px solid var(--red);background:#fff;border-radius:8px;flex-direction:column;width:min(94vw,1380px);height:min(90vh,920px);display:flex;overflow:hidden;box-shadow:0 24px 70px #1214174d}.signal-review-filters{border-bottom:1px solid var(--border);background:#fafbfc;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:15px 22px;display:grid}.signal-review-filters label{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:800}.signal-review-filters select{height:34px;margin-top:4px;font-size:12px}.signal-review-layout{flex:1;grid-template-columns:minmax(290px,.75fr) minmax(0,1.25fr);min-height:0;display:grid}.signal-list{border-right:1px solid var(--border);background:#fafafa;padding:12px;overflow-y:auto}.signal-list-item{width:100%;color:var(--text);text-align:left;border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:5px;flex-direction:column;gap:5px;margin-bottom:7px;padding:12px;display:flex}.signal-list-item strong{font-size:13px;line-height:1.35}.signal-list-item span{color:var(--muted);font-size:11px}.signal-list-item.selected{border-color:var(--red);box-shadow:inset 3px 0 var(--red)}.signal-detail{padding:23px;overflow-y:auto}.signal-detail h3{color:var(--navy);margin:13px 0 4px;font-size:21px}.signal-detail>p{color:var(--muted);margin:0 0 18px}.signal-badges{flex-wrap:wrap;gap:7px;display:flex}.signal-badges b{color:var(--red-dark);background:var(--red-soft);border:1px solid var(--red-border);border-radius:4px;padding:5px 8px;font-size:11px}.signal-detail-grid{border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:18px 0;display:grid}.signal-detail-grid div{min-width:0}.signal-detail-grid small{color:var(--muted);text-transform:uppercase;margin-bottom:3px;font-size:10px;font-weight:800;display:block}.signal-detail-grid strong{color:#334b5a;overflow-wrap:anywhere;font-size:13px;line-height:1.45}.signal-review-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:9px;margin-top:18px;padding-top:18px;display:flex}@media (width<=800px){.signal-review-dialog{border-radius:0;width:100%;height:100vh}.signal-review-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 16px}.signal-review-layout{grid-template-columns:1fr}.signal-list{border-right:0;border-bottom:1px solid var(--border);max-height:240px}.signal-detail{padding:17px}.signal-detail-grid{grid-template-columns:1fr}}.status-badge{text-align:left;border:1px solid;border-radius:5px;align-items:center;gap:6px;width:fit-content;min-height:28px;padding:5px 9px;font-size:12px;font-weight:750;line-height:1.25;display:inline-flex}.status-badge i{border-radius:50%;flex:none;place-items:center;width:16px;height:16px;font-size:10px;font-style:normal;font-weight:900;display:inline-grid}.status-positive{color:#1d6245;background:#edf7f2;border-color:#a9d1bd}.status-positive i{color:#fff;background:var(--success)}.status-warning{color:#765019;background:#fff8eb;border-color:#e6cc9c}.status-warning i{color:#fff;background:var(--warning)}.status-info{color:#3f5d79;background:#f1f5f8;border-color:#c7d3de}.status-info i{color:#fff;background:var(--info)}.status-neutral{color:#555f6d;background:#f4f5f6;border-color:#d0d5dd}.status-neutral i{color:#fff;background:var(--neutral)}.status-critical{color:#781b24;background:#fbf0f1;border-color:#dfabb0}.status-critical i{color:#fff;background:var(--critical)}.status-brand{color:#7c1821;background:var(--red-soft);border-color:var(--red-border)}.status-brand i{color:#fff;background:var(--red)}.metric-card strong{font-size:30px}.metric-card span:last-child{color:#59636d;font-size:13px;line-height:1.35}.metric-contactable .metric-dot,.metric-contact .metric-dot,.metric-contractor .metric-dot{background:var(--success)}.metric-contactable strong,.metric-contact strong,.metric-contractor strong{color:#216b4c}.metric-total .metric-dot,.metric-signal .metric-dot,.metric-zero .metric-dot{background:var(--neutral)}.metric-zero strong{color:var(--navy)}.filter-field label,.quick-filter{font-size:13px}.filter-summary,.result-count,input,select,textarea{font-size:14px}.reset-button,.button-primary,.button-secondary{font-size:13px}.eyebrow{font-size:12px}.section-heading h2{font-size:21px}.workspace{grid-template-columns:minmax(560px,1.4fr) minmax(500px,1fr);gap:26px}.workspace-list-only{grid-template-columns:1fr}.workspace-list-only .project-panel{max-width:1180px}.card-title{font-size:18px;line-height:1.4}.project-id{color:#68737d;font-size:12px}.primary-statuses{max-width:250px}.card-meta{color:#4f5962;font-size:13px}.fact span,.detail-item dt,.quick-item>span{color:#5f6973;font-size:12px}.fact strong{color:#314b5b;font-size:14px;line-height:1.45}.contractor-focus,.contact-focus{padding:11px 13px}.contractor-focus>div span,.contact-focus>div span{font-size:11px}.contractor-focus>div strong,.contact-focus>div strong{font-size:14px}.contractor-focus>div small,.contact-focus>div small{font-size:12px;line-height:1.4}.contact-quality{color:#4e5963;min-height:28px;padding:5px 9px;font-size:12px}.quick-view{border-top:4px solid var(--red);flex-direction:column;max-height:calc(100vh - 40px);display:flex;position:sticky;top:20px;overflow:hidden}.quick-header{background:#292b2f;justify-content:space-between;align-items:flex-start;gap:18px;padding:22px 24px 18px;display:flex}.quick-header h2{color:#fff;margin:5px 0 7px;font-size:clamp(22px,1.65vw,27px);line-height:1.3}.quick-header p{color:#c4cbd0;margin:0;font-size:14px}.quick-header .detail-kicker{color:#d9aeb2;letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.quick-close{color:#fff;cursor:pointer;background:#3a3d42;border:1px solid #5a5e64;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;padding:0;font-size:25px;display:grid}.quick-body{min-height:0;padding:20px 24px;overflow-y:auto}.quick-statuses,.full-detail-statuses,.full-inline-status{flex-wrap:wrap;gap:8px;display:flex}.quick-section{border-top:1px solid #e2e6e9;padding:20px 0}.quick-section:first-of-type{margin-top:18px}.quick-section h3,.full-detail-section h3{color:#222b31;margin:0 0 14px;font-size:18px;line-height:1.3}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;display:grid}.quick-item{min-width:0}.quick-item>span{text-transform:uppercase;letter-spacing:.035em;margin-bottom:4px;font-weight:750;display:block}.quick-item>strong{color:#2f4858;overflow-wrap:anywhere;font-size:15px;line-height:1.45;display:block}.quick-contact-links{flex-wrap:wrap;gap:9px;margin-top:15px;display:flex}.quick-contact-links a,.inline-source-link{color:#7f1922;overflow-wrap:anywhere;font-size:14px;font-weight:750}.quick-action{color:#344f61;border:1px solid #cad9e1;border-left:4px solid var(--info);background:#eef4f7;border-radius:5px;padding:16px}.quick-action h3{text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:14px}.quick-action p{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:15px;line-height:1.5;display:-webkit-box;overflow:hidden}.quick-actions{background:#fff;border-top:1px solid #dde1e4;flex-wrap:wrap;gap:9px;padding:16px 24px 18px;display:flex}.button-link{color:#4b555e;background:#fff;border:1px solid #c1c7cc;border-radius:5px;justify-content:center;align-items:center;min-height:38px;padding:8px 13px;font-size:13px;font-weight:750;text-decoration:none;display:inline-flex}.full-detail-backdrop{padding:4vh 4vw}.full-detail-dialog{border:1px solid #bfc4c8;border-top:4px solid var(--red);background:#fff;border-radius:8px;flex-direction:column;width:min(92vw,1480px);height:min(92vh,1000px);display:flex;overflow:hidden;box-shadow:0 24px 70px #1214174d}.full-detail-header{z-index:2;color:#fff;background:#292b2f;border-bottom:1px solid #44474c;justify-content:space-between;align-items:flex-start;gap:28px;padding:22px 26px;display:flex;position:sticky;top:0}.full-detail-heading{min-width:0}.full-detail-heading h2{color:#fff;max-width:950px;margin:4px 0 6px;font-size:clamp(24px,2.1vw,31px);line-height:1.25}.full-detail-heading p{color:#c4cbd0;margin:0 0 12px;font-size:15px}.full-detail-header .eyebrow{color:#e2aeb3}.full-detail-header-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:9px;display:flex}.button-link-dark{color:#fff;background:#383b40;border-color:#60646a}.modal-close-dark{color:#fff;background:#3a3d42;border-color:#60646a}.full-detail-scroll{min-height:0;overflow-y:auto}.full-detail-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;padding:26px;display:grid}.full-detail-column{min-width:0}.full-detail-section{border-bottom:1px solid #e0e4e7;margin-bottom:25px;padding:0 0 25px}.full-detail-section:last-child{border-bottom:0;margin-bottom:0}.full-description{color:#465965;margin:0 0 18px;font-size:15px;line-height:1.65}.full-detail-section .detail-grid{gap:18px 24px}.detail-item dd{color:#334b5a;font-size:15px;line-height:1.55}.detail-item dt{margin-bottom:5px;font-weight:800}.full-inline-status{margin-bottom:17px}.detail-grid-spaced{margin-top:16px}.inline-source-link{margin-top:17px;display:inline-flex}.action-recommendation strong{font-size:14px;line-height:1.55}@media (width<=1100px){.workspace{grid-template-columns:1fr}.quick-view{max-height:none;position:static}.quick-body{overflow:visible}.full-detail-columns{grid-template-columns:1fr;gap:0}}@media (width<=680px){.status-badge{font-size:11px}.card-title{font-size:17px}.metric-card strong{font-size:27px}.quick-header,.quick-body,.quick-actions{padding-left:17px;padding-right:17px}.quick-grid{grid-template-columns:1fr}.quick-actions{grid-template-columns:1fr;display:grid}.quick-actions>*{width:100%}.full-detail-backdrop{padding:0}.full-detail-dialog{border-bottom:0;border-left:0;border-right:0;border-radius:0;width:100%;height:100vh}.full-detail-header{flex-direction:column;padding:18px 17px;position:relative}.full-detail-header-actions{justify-content:flex-start;width:100%}.full-detail-header-actions .modal-close{position:absolute;top:14px;right:14px}.full-detail-header-actions .button-primary,.full-detail-header-actions .button-link{width:calc(100% - 48px)}.full-detail-columns{padding:20px 17px}.full-detail-section .detail-grid{grid-template-columns:1fr}.work-match-list li{flex-direction:column;align-items:flex-start}.work-match-distance{text-align:left}}
