:root{--bg:#10151b;--surface:#171e26;--surface-2:#1e2730;--surface-3:#242f39;--border:#2a3540;--border-soft:#232c35;--text:#e9ecef;--text-dim:#8b96a3;--text-faint:#586371;--gold:#d4a64a;--gold-soft:#3a3120;--won:#4a9b6e;--won-soft:#1c2b23;--lost:#b85450;--lost-soft:#2c1e1d;--pending:#7c8ba0;--pending-soft:#1f2731;--submitted:#c9974a;--submitted-soft:#2e2519;--seg-schools:#5b8dd6;--seg-schools-soft:#1a2536;--seg-municipal:#8b96a3;--seg-municipal-soft:#20262d;--seg-commercial:#d4a64a;--seg-commercial-soft:#3a3120;--seg-industrial:#c9754a;--seg-industrial-soft:#33241b;--seg-datacenters:#5bb8a8;--seg-datacenters-soft:#182f2c;--seg-medical:#c15b8f;--seg-medical-soft:#35202b;--seg-religious:#8b6fc9;--seg-religious-soft:#241f38;--type-new:#5b8dd6;--type-reno:#c9974a;--font-display:var(--font-fraunces),serif;--font-body:var(--font-inter),sans-serif;--font-mono:var(--font-jetbrains-mono),monospace}*{box-sizing:border-box}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}body,html{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased}a{color:inherit}.wrap{max-width:1260px;margin:0 auto;padding:36px 28px 80px}h1{font-family:var(--font-display);font-weight:500;font-size:28px;margin:0;letter-spacing:.2px}.tagline{color:var(--text-dim);font-size:13.5px;margin:4px 0 0 53px}.topnav{border-bottom:1px solid var(--border-soft);background:var(--surface)}.topnav-inner{max-width:1260px;margin:0 auto;padding:14px 28px;gap:28px;flex-wrap:wrap}.brand,.topnav-inner{display:flex;align-items:center}.brand{gap:10px;font-family:var(--font-display);font-weight:500;font-size:17px}.brand-logo{flex:none;height:auto}.topnav-links{display:flex;gap:18px;flex:1 1;font-size:14px}.topnav-links a{color:var(--text-dim);padding:6px 2px;border-bottom:2px solid transparent}.topnav-links a:hover{color:var(--text)}.topnav-admin-links{display:flex;gap:18px;font-size:14px;padding-right:18px;border-right:1px solid var(--border-soft)}.topnav-admin-links a{color:var(--text-dim);padding:6px 2px;border-bottom:2px solid transparent}.topnav-admin-links a:hover{color:var(--text)}.topnav-user{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--text-dim)}.role-badge{font-family:var(--font-mono);font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:var(--gold);border:1px solid var(--border);border-radius:4px;padding:2px 6px}.btn{font-family:var(--font-body);font-weight:600;font-size:13.5px;border-radius:7px;border:1px solid transparent;cursor:pointer;padding:10px 16px;transition:all .15s ease}.btn-primary{background:var(--gold);color:#1b1509}.btn-primary:hover{background:#e2b45c}.btn-ghost{background:transparent;border-color:var(--border);color:var(--text-dim)}.btn-ghost:hover{color:var(--text);border-color:var(--text-faint)}.btn-sm{padding:6px 11px;font-size:12.5px}.hero{display:grid;grid-template-columns:200px 1fr;grid-gap:28px;gap:28px;margin-bottom:20px}.dist-card,.filter-card,.report-card,.seal-card,.stat-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:12px}.report-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:14px;gap:14px}.report-card{padding:18px;display:flex;flex-direction:column;gap:8px}.report-card h3{margin:0;font-size:15px}.report-card p{margin:0;font-size:12.5px;color:var(--text-dim);flex:1 1}.seal-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 10px}.seal-pct{font-family:var(--font-mono);font-weight:700;font-size:26px;fill:var(--text)}.seal-label{font-size:10.5px;letter-spacing:1.4px;color:var(--text-faint);text-transform:uppercase;margin-top:10px}.seal-sub{font-size:12px;color:var(--text-dim);margin-top:3px;font-family:var(--font-mono)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px}.stat-card{padding:16px 18px}.stat-label{font-size:10.5px;letter-spacing:1px;color:var(--text-faint);text-transform:uppercase}.stat-value{font-family:var(--font-mono);font-weight:700;font-size:21px;color:var(--text);margin-top:8px}.stat-note{font-size:11.5px;color:var(--text-dim);margin-top:4px}.dist-wrap{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;margin-top:14px}.dist-col{display:flex;flex-direction:column;gap:14px}.dist-card{padding:14px 18px}.dist-title{font-size:10.5px;letter-spacing:1px;color:var(--text-faint);text-transform:uppercase;margin-bottom:8px}.dist-row{display:flex;align-items:center;gap:10px;padding:5px 0}.dist-name{width:78px;font-size:12px;color:var(--text-dim);flex:none}.dist-track{flex:1 1;height:7px;background:var(--surface-2);border-radius:4px;overflow:hidden}.dist-fill{height:100%;border-radius:4px}.dist-meta{width:130px;text-align:right;font-family:var(--font-mono);font-size:11px;color:var(--text-dim);flex:none}.filter-card{padding:14px 18px;margin-bottom:16px;display:flex;gap:8px;flex-wrap:nowrap;align-items:flex-end;overflow-x:auto}.filter-field{display:flex;flex-direction:column;gap:5px;flex:none}.filter-field label{font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:var(--text-faint);white-space:nowrap}.filter-field input,.filter-field select{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:7px 9px;font-size:12.5px;font-family:var(--font-body);width:112px}.filter-field-lg input,.filter-field-lg select{width:136px}.filter-field-sm input,.filter-field-sm select{width:84px}.filter-field-date input,.filter-field-date select{width:118px}.filter-clear{margin-left:auto;flex:none}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.search-bar{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:8px 12px;font-size:13px;font-family:var(--font-body);width:260px;flex:none}.search-bar::placeholder{color:var(--text-faint)}.tabs{display:flex;gap:4px;background:var(--surface);border:1px solid var(--border-soft);border-radius:8px;padding:3px}.tab{font-size:12.5px;font-weight:500;color:var(--text-dim);padding:6px 12px;border-radius:6px;cursor:pointer;transition:all .15s ease;border:none;background:transparent;font-family:var(--font-body);text-decoration:none;display:inline-block}.tab.active{background:var(--surface-2)}.tab.active,.tab:hover:not(.active){color:var(--text)}table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border-soft);border-radius:12px;overflow:hidden}thead th{text-align:left;font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:var(--text-faint);font-weight:600;padding:11px 14px;border-bottom:1px solid var(--border-soft);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}thead th:hover{color:var(--text-dim)}thead th[aria-sort=ascending],thead th[aria-sort=descending]{color:var(--gold)}.sort-arrow{font-size:9px}thead th.num{text-align:right}tbody td{padding:12px 14px;font-size:13px;border-bottom:1px solid var(--border-soft);vertical-align:middle}tbody tr:last-child td{border-bottom:none}tbody tr{cursor:pointer}tbody tr:hover{background:var(--surface-2)}td.num{text-align:right;font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.client-name{font-weight:600}.customer-sub{font-size:11px;color:var(--text-faint);margin-top:2px}.pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:4px 9px;border-radius:20px;white-space:nowrap}.pill:before{content:"";width:6px;height:6px;border-radius:50%;flex:none}.pill.won{background:var(--won-soft);color:var(--won)}.pill.won:before{background:var(--won)}.pill.lost{background:var(--lost-soft);color:var(--lost)}.pill.lost:before{background:var(--lost)}.pill.pending{background:var(--pending-soft);color:var(--pending)}.pill.pending:before{background:var(--pending)}.pill.submitted{background:var(--submitted-soft);color:var(--submitted)}.pill.submitted:before{background:var(--submitted)}.pill.superseded{background:var(--surface-3);color:var(--text-faint)}.pill.superseded:before{background:var(--text-faint)}.pill.schools{background:var(--seg-schools-soft);color:var(--seg-schools)}.pill.schools:before{background:var(--seg-schools)}.pill.municipal{background:var(--seg-municipal-soft);color:var(--seg-municipal)}.pill.municipal:before{background:var(--seg-municipal)}.pill.commercial{background:var(--seg-commercial-soft);color:var(--seg-commercial)}.pill.commercial:before{background:var(--seg-commercial)}.pill.industrial{background:var(--seg-industrial-soft);color:var(--seg-industrial)}.pill.industrial:before{background:var(--seg-industrial)}.pill.datacenters{background:var(--seg-datacenters-soft);color:var(--seg-datacenters)}.pill.datacenters:before{background:var(--seg-datacenters)}.pill.medical{background:var(--seg-medical-soft);color:var(--seg-medical)}.pill.medical:before{background:var(--seg-medical)}.pill.religious{background:var(--seg-religious-soft);color:var(--seg-religious)}.pill.religious:before{background:var(--seg-religious)}.tag{display:inline-block;font-size:11px;border:1px solid var(--border);color:var(--text-dim);padding:3px 8px;border-radius:5px}.count-badge{font-family:var(--font-mono);font-size:11px;color:var(--text-faint)}.empty{padding:60px 20px;text-align:center;color:var(--text-dim)}.empty .btn{margin-top:14px}.overlay{position:fixed;inset:0;background:rgba(8,11,14,.72);display:flex;align-items:flex-start;justify-content:center;padding:40px 20px;z-index:10;overflow-y:auto}.modal{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:100%;max-width:460px;padding:26px}.modal.wide{max-width:760px}.modal h2{font-family:var(--font-display);font-weight:500;font-size:19px;margin:0 0 4px}.modal .sub{font-size:12px;color:var(--text-faint);margin-bottom:18px}.field{margin-bottom:14px}.field label{display:block;font-size:11px;color:var(--text-dim);margin-bottom:6px;letter-spacing:.3px}.field input,.field select,.field textarea{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:7px;color:var(--text);padding:9px 11px;font-size:13.5px;font-family:var(--font-body)}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gold);outline-offset:1px}.field-row{display:flex;gap:12px}.field-row .field{flex:1 1}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.margin-preview{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);margin-top:-8px;margin-bottom:14px}.margin-preview b{color:var(--gold)}.subhead{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--text-faint);margin:16px 0 8px}.field-error{color:var(--lost);font-size:11px;margin-top:4px}.fuzzy-warning{color:var(--gold);font-size:11px;margin-top:5px;line-height:1.5}.fuzzy-suggestion{color:var(--gold);font-weight:600}.fuzzy-dismiss,.fuzzy-suggestion{text-decoration:underline;font-size:11px}.fuzzy-dismiss{color:var(--text-faint)}.detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.detail-head,.detail-head h2,.detail-tags{margin-bottom:6px}.detail-tags{display:flex;gap:6px;flex-wrap:wrap}.addr-line{font-size:12px;color:var(--text-dim);margin-bottom:16px}.section-title{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--text-faint);margin:22px 0 10px;display:flex;justify-content:space-between;align-items:center}.mini-table-wrap{overflow-x:auto}.mini-table{width:100%;border-collapse:collapse;font-size:12.5px;min-width:640px}.mini-table th{text-align:left;font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:var(--text-faint);padding:7px 8px;border-bottom:1px solid var(--border-soft);white-space:nowrap}.mini-table th.num{text-align:right}.mini-table td{padding:8px;border-bottom:1px solid var(--border-soft);white-space:nowrap}.mini-table td.num{text-align:right;font-family:var(--font-mono)}.mini-table tr:last-child td{border-bottom:none}.mini-table tbody tr{cursor:pointer}.mini-table tbody tr:hover{background:var(--surface-3)}.mini-table tbody tr.editing{background:var(--gold-soft)}.inline-form{border:1px solid var(--border);border-radius:10px;padding:14px;margin-top:10px}.inline-form,.note-item{background:var(--surface-3)}.note-item{border:1px solid var(--border-soft);border-radius:9px;padding:11px 13px;margin-bottom:8px;transition:background .15s ease}.note-item:hover{background:var(--surface-2)}.note-item.editing{background:var(--gold-soft)}.note-date{font-family:var(--font-mono);font-size:11px;color:var(--gold);margin-bottom:4px}.note-author{font-size:11px;color:var(--text-faint);margin-left:6px}.note-text{font-size:13px;color:var(--text);line-height:1.45;white-space:pre-wrap}.note-del{float:right;background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:11px}.note-del:hover{color:var(--lost)}.contact-item{background:var(--surface-3);border:1px solid var(--border-soft);border-radius:9px;padding:11px 13px;margin-bottom:8px}.contact-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.contact-name{font-size:13px;font-weight:600;color:var(--text)}.contact-meta{font-size:11.5px;color:var(--text-faint);margin-top:2px}.customer-name-input{font-family:var(--font-display);font-weight:500;font-size:19px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text);padding:2px 6px;margin:0 0 0 -7px;width:100%}.customer-name-input:focus,.customer-name-input:hover{border-color:var(--border);background:var(--surface-2)}.note-form{display:flex;gap:8px;margin-top:8px}.note-form textarea{flex:1 1;min-height:36px;resize:vertical}.link-btn{color:var(--gold);font-size:11.5px;font-family:var(--font-body);font-weight:600;padding:0}.icon-btn,.link-btn{background:none;border:none;cursor:pointer}.icon-btn{color:var(--text-faint);font-size:12px}.icon-btn:hover{color:var(--text)}.icon-btn.danger:hover{color:var(--lost)}.line-card{border:1px solid var(--border-soft);border-radius:12px;padding:16px 18px;margin-bottom:14px;background:var(--surface-2)}.line-header{justify-content:space-between;gap:10px;flex-wrap:wrap}.line-header,.line-title{display:flex;align-items:center}.line-title{gap:8px;font-weight:600;font-size:14px}.contact-line{font-size:11.5px;color:var(--text-faint);margin:4px 0 10px}.meta-row{gap:8px;align-items:flex-end;max-width:600px;flex-wrap:wrap}.attachment-item,.meta-row{display:flex;margin-bottom:6px}.attachment-item{align-items:center;justify-content:space-between;gap:10px;background:var(--surface-3);border:1px solid var(--border-soft);border-radius:9px;padding:9px 12px;font-size:12.5px}.attachment-name{color:var(--text);font-weight:500}.attachment-meta{color:var(--text-faint);font-size:11px}.dropzone{border:1.5px dashed var(--border);border-radius:9px;padding:14px;margin-top:6px;text-align:center;font-size:12px;color:var(--text-faint);cursor:pointer;transition:all .15s ease}.dropzone:hover{border-color:var(--text-faint);color:var(--text-dim)}.dropzone.dragging{border-color:var(--gold);color:var(--gold);background:var(--gold-soft)}footer{margin-top:26px;text-align:center}footer button{background:none;border:none;color:var(--text-faint);font-size:11.5px;cursor:pointer;text-decoration:underline}.signin-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center}.signin-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:14px;padding:40px 36px;text-align:center;max-width:360px}.signin-card .brand-logo{margin:0 auto 16px}.signin-card p{color:var(--text-dim);font-size:13px;margin:8px 0 22px}@media (max-width:760px){.hero{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr 1fr}.dist-wrap{grid-template-columns:1fr}thead{display:none}table,tbody,td,tr{display:block;width:100%}tbody tr{border-bottom:1px solid var(--border-soft);padding:10px 4px}td{border:none!important;padding:4px 12px}td.num{text-align:left}}