@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#090d17;--surface:#121827;--panel:#161e2d;--border:#273144;--muted:#8590a5;--white:#f4f6fd;--purple:#64b5ca;--lav:#9bd9e7;--green:#40d1a0;--danger:#ee7e88;--shadow:0 15px 70px rgba(0,0,0,.3)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--white);font-family:'DM Sans',system-ui,-apple-system,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:var(--lav)}.hidden{display:none!important}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:#8bd0e0}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:19px;font-weight:800;letter-spacing:-.7px}.brand.large{font-size:22px}.brand-mark{display:inline-grid;place-items:center;background:linear-gradient(135deg,#67c0d4,#318fa8);color:#09232c;font-family:Manrope,sans-serif;letter-spacing:-3px;font-size:23px;width:35px;height:35px;border-radius:11px;font-weight:900;padding-right:3px}.brand-mark span{color:#e0f8fd}.brand-suffix{color:#88cbdb;font-weight:600}.center-screen{min-height:100vh;display:flex;justify-content:center;align-items:center;background:radial-gradient(ellipse 55% 40% at 50% 28%,#192341 0,transparent 76%),var(--bg);padding:24px}.login-card{width:min(440px,100%);padding:38px;border:1px solid #2d374d;background:linear-gradient(145deg,#192235,#101827);border-radius:20px;box-shadow:var(--shadow)}.login-card .brand{margin-bottom:40px}.login-icon{width:49px;height:49px;border-radius:14px;background:#1d3b49;color:#8bcede;display:grid;place-items:center;font-size:28px;margin-bottom:24px}.login-card h1{font:800 32px Manrope,sans-serif;letter-spacing:-1.2px;margin:10px 0 8px}.login-card p{line-height:1.6;color:#a9b3c4;margin-bottom:24px}.login-card label{font-weight:700;display:block;margin:18px 0 7px}.login-card input,.field,.form-grid input,.form-grid textarea,.form-grid select,.searchwrap input,select{background:#101725;border:1px solid #354054;border-radius:9px;color:var(--white);outline:0}.login-card input{width:100%;padding:12px 14px}.login-card input:focus,.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus,.searchwrap:focus-within,.filterbar select:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(100,181,202,.15)}.login-foot{padding-top:24px;text-align:center;font-size:12px;color:#76839a}.fine{font-size:12px}.error-msg{color:#ff9c9e!important;font-size:12px;min-height:18px;margin:10px 0!important}.button{border:1px solid transparent;border-radius:9px;padding:10px 15px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;transition:background .12s,border-color .12s,transform .12s}.button:hover:not(:disabled){transform:translateY(-1px)}.button.primary{background:#64b5ca;color:#0b2730}.button.primary:hover{background:#86cbdc}.button.outline{background:#1c2435;border-color:#36415a;color:#f0f3ff}.button.ghost{background:transparent;color:#aab5c6;border-color:#354055}.button.ghost:hover{color:white;background:#1d283b}.button.wide{width:100%}.button.small{padding:7px 11px;font-size:12px}.layout{display:flex;min-height:100vh}.sidebar{width:242px;flex:0 0 242px;border-right:1px solid #202a3c;background:#101523;display:flex;flex-direction:column;padding:29px 17px 17px;min-height:100vh;position:sticky;top:0;height:100vh}.sidebar .brand{padding:0 6px 48px;font-size:18px}.sidebar-label{color:#66738b;font-size:10px;letter-spacing:.18em;font-weight:800;margin:0 10px 14px}.sidebar nav{display:flex;flex-direction:column;gap:4px}.nav-link{width:100%;border:0;background:none;text-align:left;color:#92a0b5;text-decoration:none;border-radius:10px;padding:12px;display:flex;gap:12px;align-items:center;font-weight:700;font-size:13px}.nav-link.active{background:#1c3948;color:#dbf4fa}.nav-link:hover{background:#202a3d;color:#f3f3ff}.nav-icon{width:20px;text-align:center;font-size:19px}.sidebar-bottom{margin-top:auto}.sidebar-source{padding:14px;border:1px solid #293448;border-radius:11px;margin-bottom:18px;color:#d9e4ef;font-size:12px;line-height:1.8}.sidebar-source small{color:#7d8a9e;padding-left:15px}.pulse,.secure-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#37cca1;margin-right:5px;box-shadow:0 0 8px rgba(55,204,161,.2)}.user-card{display:flex;align-items:center;gap:9px;border-top:1px solid #2a3345;padding:17px 1px 0}.avatar{background:#314a69;color:#d9eaff;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;font-weight:800}.user-card-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.user-card-main strong{font-size:11px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-card-main small{font-size:10px;color:#8492a7}.icon-button{border:0;background:transparent;color:#9ca9bc;font-size:22px}.main{flex:1;min-width:0}.topbar{height:74px;border-bottom:1px solid #222d3f;display:flex;justify-content:space-between;align-items:center;padding:0 clamp(18px,3.5vw,48px)}.breadcrumbs{color:#8997aa;font-size:12px}.breadcrumbs span{padding:0 12px;color:#5b6980}.breadcrumbs strong{color:#f1f3f9}.top-actions{display:flex;align-items:center;gap:24px}.secure-label{color:#8d9aaf;font-size:12px}.content{padding:35px clamp(18px,3.5vw,48px) 20px;max-width:1800px;margin:auto}.hero-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:29px}.hero-row h1{font:800 clamp(26px,2.5vw,37px) Manrope,sans-serif;letter-spacing:-1.35px;margin:12px 0 8px}.hero-row p{color:#8797ad;margin:0;font-size:13px}.hero-buttons{display:flex;align-items:center;gap:9px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:26px}.stat{background:linear-gradient(160deg,#182132,#121a29);border:1px solid #2a3448;border-radius:13px;padding:20px 21px;min-height:130px}.stat-top{color:#9cabc1;font-size:12px;display:flex;justify-content:space-between;align-items:center}.stat-top span{color:#89ccdb;font-size:22px}.stat-number{font:800 31px Manrope,sans-serif;margin:6px 0 7px;letter-spacing:-1px}.stat-help{font-size:11px;color:#75859d}.directory{border:1px solid #283345;background:#141c2a;border-radius:14px;overflow:hidden}.directory-head{padding:23px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px}.directory h2{font:800 18px Manrope,sans-serif;letter-spacing:-.3px;margin:0 0 5px}.subtitle{color:#8796ab;font-size:12px}.head-note{font-size:11px;color:#8091a6}.head-note .pulse{margin-left:5px;margin-right:0}.filterbar{padding:0 24px 20px;display:flex;gap:10px}.searchwrap{display:flex;align-items:center;flex:1;min-width:175px;border:1px solid #354054;border-radius:9px;background:#0e1521}.search-icon{color:#9aa8ba;font-size:23px;padding:0 11px}.searchwrap input{background:transparent;border:0;box-shadow:none!important;min-width:0;padding:11px 9px 11px 0;flex:1;font-size:12px}.filterbar select{min-width:135px;max-width:200px;padding:0 12px;font-size:12px;color:#ccd6e4}.table-scroll{width:100%;overflow-x:auto}.agency-table{width:100%;border-collapse:collapse;min-width:1000px}.agency-table th{background:#172132;text-align:left;padding:15px 17px;color:#72819a;letter-spacing:.09em;font-size:10px;font-weight:800;white-space:nowrap}.agency-table td{border-top:1px solid #263144;padding:14px 17px;vertical-align:middle;color:#c4d0e1;font-size:12px}.agency-table tr:hover td{background:#1b2536}.agency-name{color:#f0f4fc;font-size:12px;font-weight:800;display:block;line-height:1.4}.agency-ori{color:#71829a;font-size:10px;display:block;padding-top:4px}.agency-type{color:#9daec0}.agency-county{color:#6e8097;font-size:11px;margin-top:3px}.state-chip{background:#29364a;border:1px solid #37465b;color:#cad8e8;font-size:10px;padding:4px 7px;border-radius:6px;font-weight:800}.check-col{text-align:center!important}.agency-table td.check-col{text-align:center}.method-check{appearance:none;-webkit-appearance:none;border:1.5px solid #53627b;background:#111827;width:19px;height:19px;border-radius:5px;vertical-align:middle;display:inline-grid;place-items:center;cursor:pointer}.method-check:checked{background:#64b5ca;border-color:#64b5ca}.method-check:checked:after{content:'✓';color:#09232b;font-size:14px;font-weight:900}.method-check:focus-visible{outline:2px solid white;outline-offset:3px}.status-pill{border-radius:100px;padding:5px 8px;border:1px solid #39465c;color:#a8b7c8;white-space:nowrap;font-size:10px;font-weight:700;background:#222d3f}.status-pill.live{border-color:#266b66;background:#173c42;color:#60dfc2}.status-pill.warm{border-color:#645d98;background:#302d51;color:#c0baff}.status-pill.closed{border-color:#6a474a;background:#40252b;color:#ef9ca0}.details-button{background:#24314a;border:1px solid #384763;border-radius:8px;color:#8dcfdf;font-weight:700;padding:8px 11px;white-space:nowrap}.details-button:hover{background:#324165}.empty{text-align:center!important;padding:55px 20px!important;color:#8e9aaf!important}.empty strong{color:#f2f5fc}.table-footer{padding:16px 22px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #283345;color:#8090a5;font-size:12px}.pagination{display:flex;gap:9px;align-items:center}.pagination #page-label{min-width:55px;text-align:center}.footline{font-size:10px;color:#728199;display:flex;justify-content:space-between;gap:14px;padding-top:19px}.overlay{position:fixed;inset:0;display:flex;justify-content:flex-end;z-index:50;background:rgba(1,4,12,.7);backdrop-filter:blur(4px)}.drawer{width:min(560px,100vw);height:100vh;background:#131c2b;border-left:1px solid #324056;display:flex;flex-direction:column;box-shadow:var(--shadow);animation:slideover .18s ease}.drawer-head{padding:25px 25px 19px;border-bottom:1px solid #2b384e;display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.drawer-head h2{font:800 21px/1.25 Manrope,sans-serif;margin:8px 0 0;letter-spacing:-.7px}.close-button{border:0;background:#243047;color:#cdd7e6;border-radius:8px;width:34px;height:34px;font-size:23px;line-height:1}.drawer-content{padding:25px;overflow-y:auto;flex:1}.drawer-desc{line-height:1.7;color:#a0acc0;margin:0 0 22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label,.full-field{display:flex;flex-direction:column;gap:7px;color:#bdc9d8;font-size:12px;font-weight:750}.form-grid .span2{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{padding:11px;width:100%;font-size:12px}.form-grid textarea{min-height:120px;resize:vertical}.form-grid select{color:#e4eaf4}.form-grid input[type=date]{color-scheme:dark}.section-label{font-size:10px;letter-spacing:.12em;color:#8598b6;font-weight:800;margin:24px 0 13px}.touch-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.touch-option{border:1px solid #35425b;background:#1a273a;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:6px;min-height:51px;font-size:12px;font-weight:800;cursor:pointer}.touch-option:has(input:checked){border-color:#64b5ca;background:#1d4253;color:#e2f8fc}.touch-option input{accent-color:#64b5ca}.drawer-actions{display:flex;align-items:center;gap:11px;justify-content:flex-end;padding-top:22px}.helper{font-size:11px;color:#7f92aa;line-height:1.6}.warning{border:1px solid #775f36;background:#2c291d;color:#efd6a3;border-radius:10px;padding:12px 14px;font-size:12px;line-height:1.6}.info{border:1px solid #334b77;background:#1b2a45;color:#b7cdf8;border-radius:10px;padding:12px 14px;font-size:12px;line-height:1.6}.import-drop{border:2px dashed #405074;border-radius:13px;padding:23px;text-align:center;background:#19253a}.import-drop strong{display:block;margin-bottom:7px}.import-drop input{margin:10px auto;max-width:100%;font-size:12px}.import-mapping{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:17px}.import-mapping label{display:block;color:#c8d4e5;font-size:12px;font-weight:700}.import-mapping select{margin-top:6px;padding:9px;width:100%}.progress-track{background:#283449;border-radius:30px;height:9px;overflow:hidden;margin-top:12px}.progress-fill{background:#64b5ca;height:100%;width:0%;transition:width .15s}.preview-box{background:#0d1522;border:1px solid #364159;border-radius:9px;padding:12px;font-family:ui-monospace,monospace;font-size:11px;color:#b7c3d5;word-break:break-word;margin:13px 0;line-height:1.7}.inputlist{min-height:190px!important;font-family:ui-monospace,monospace!important;line-height:1.8}.result-list{max-height:220px;overflow-y:auto;font-size:11px;color:#c0cedb;line-height:1.7;background:#101827;padding:12px;border:1px solid #2b3850;border-radius:10px;white-space:pre-wrap}.toast{position:fixed;bottom:24px;right:24px;background:#243a44;color:#d6fff3;border:1px solid #397568;padding:12px 18px;border-radius:10px;box-shadow:var(--shadow);z-index:100;opacity:0;pointer-events:none;transform:translateY(10px);transition:all .2s;max-width:min(440px,calc(100vw - 35px));font-size:12px}.toast.show{opacity:1;transform:translateY(0)}.toast.error{background:#41272d;color:#ffb9be;border-color:#774d57}@keyframes slideover{from{transform:translateX(35px);opacity:.5}to{transform:translateX(0);opacity:1}}
@media(max-width:1100px){.sidebar{width:205px;flex-basis:205px}.stats{gap:10px}.stat{padding:17px}.filterbar{flex-wrap:wrap}.searchwrap{flex:1 1 100%}.filterbar select{flex:1;max-width:none;min-height:39px}.top-actions{gap:8px}.secure-label{display:none}}@media(max-width:760px){.layout{display:block}.sidebar{width:100%;height:auto;min-height:unset;position:relative;padding:14px 18px;display:block;border-right:0;border-bottom:1px solid #263248}.sidebar .brand{padding:0 0 14px}.sidebar-label,.sidebar-bottom{display:none}.sidebar nav{flex-direction:row;gap:4px;overflow:auto}.sidebar nav .nav-link{white-space:nowrap;min-width:max-content;padding:9px 12px}.topbar{height:56px}.hero-row{align-items:flex-start;flex-direction:column}.stats{grid-template-columns:repeat(2,1fr)}.content{padding-top:23px}.hero-row h1{font-size:27px}.directory-head{align-items:flex-start}.head-note{display:none}.table-footer{flex-direction:column;align-items:flex-start}.footline{flex-direction:column}.form-grid{grid-template-columns:1fr}.form-grid .span2{grid-column:1}.touch-list{grid-template-columns:1fr 1fr 1fr}}

/* Location enrichment: two optional county/city text filters and provenance tags. */
.filterbar{flex-wrap:wrap}
.filterbar .location-filter{min-width:130px;max-width:175px;flex:1 1 145px;padding:11px 12px;border-radius:9px;border:1px solid #354054;background:#101725;color:#e1e8f5;outline:none;font-size:12px}
.filterbar .location-filter:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(100,181,202,.15)}
.location-estimate{color:#d9af65;font-size:12px;font-weight:bold;margin-left:3px}
.agency-table{min-width:1150px}
@media(max-width:1100px){.filterbar .location-filter{max-width:none;flex:1 1 140px}}

/* BJS 2018 historical census info */
.census-summary{background:rgba(123,145,190,.09);padding:15px;border-radius:12px;border:1px solid rgba(141,160,196,.22);margin:8px 0 22px}
.census-summary .helper{margin:7px 0}
.census-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0}
.census-numbers>div{background:rgba(138,155,194,.08);border-radius:9px;padding:11px;display:flex;flex-direction:column;gap:4px}
.census-numbers small{font-size:11px;color:#9aa9bb}
.census-numbers b{font-size:22px}
.census-preview-list{font-size:13px;padding-left:18px;line-height:1.8}
