@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Fallback_f367f3;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_f367f3{font-family:__Inter_f367f3,__Inter_Fallback_f367f3;font-style:normal}.__variable_f367f3{--font-sans:"__Inter_f367f3","__Inter_Fallback_f367f3"}:root{--bg:#101218;--bg-raise:#14161c;--panel:#181b22;--panel-2:#1e222b;--border:#262b36;--border-hi:#333a48;--text:#eceef4;--muted:#8a919f;--faint:#5c6370;--accent:#f0742f;--accent-hi:#ff8b47;--accent-dim:#b4531e;--accent-soft:rgba(240,116,47,.12);--green:#4ade80;--green-soft:rgba(74,222,128,.12);--red:#f87171;--yellow:#facc15;--yellow-soft:rgba(250,204,21,.1);--blue:#60a5fa;--radius:12px;--radius-sm:8px;--shadow:0 1px 2px rgba(0,0,0,.35),0 8px 24px rgba(0,0,0,.25)}*{box-sizing:border-box;margin:0;padding:0}html{color-scheme:dark}body{background:radial-gradient(1200px 500px at 70% -10%,rgba(240,116,47,.05),transparent 60%),var(--bg);color:var(--text);font-family:var(--font-sans,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif);font-size:14.5px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}::selection{background:var(--accent-dim);color:#fff}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:50;gap:28px;padding:0 28px;height:56px;background:rgba(20,22,28,.85);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.brand,.topbar{display:flex;align-items:center}.brand{gap:9px;white-space:nowrap;text-decoration:none}.brand img{height:26px;width:auto;display:block}.brand span{color:var(--muted);font-weight:700;font-size:12px;letter-spacing:2px;text-transform:uppercase}.brand:hover span{color:var(--text)}.topbar nav{display:flex;gap:4px}.topbar-search{flex:1 1;min-width:90px;max-width:320px;margin-left:auto}.topbar-search input{width:100%;background:var(--bg-raise);border:1px solid var(--border);border-radius:999px;color:var(--text);font-size:13px;padding:6px 13px}.topbar-search input::placeholder{color:var(--faint)}.topbar-search input:focus{outline:none;border-color:var(--accent-dim);background:var(--panel-2)}.topbar nav a{color:var(--muted);font-weight:500;font-size:13.5px;padding:6px 12px;border-radius:999px;transition:color .15s,background .15s}.topbar nav a:hover{color:var(--text);background:var(--panel-2)}.container{max-width:1240px;margin:0 auto;padding:30px 28px 80px}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.page-head h1{font-size:21px;font-weight:700;letter-spacing:-.2px}.btn{display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:#16100b;font-weight:700;font-size:13.5px;border:none;border-radius:var(--radius-sm);padding:9px 16px;cursor:pointer;transition:background .15s,transform .05s}.btn:hover{background:var(--accent-hi)}.btn:active{transform:translateY(1px)}.btn.secondary{background:var(--panel-2);color:var(--text);border:1px solid var(--border);font-weight:600}.btn.secondary:hover{background:var(--panel-2);border-color:var(--border-hi)}.btn.small{padding:6px 12px;font-size:12.5px}.board{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-bottom:34px}@media (max-width:1000px){.board{grid-template-columns:repeat(2,1fr)}}@media (max-width:620px){.board{grid-template-columns:1fr}}.column{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px 12px 10px;min-height:130px}.column h3{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);margin:0 4px 12px;display:flex;justify-content:space-between;align-items:center}.column h3 .count{color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:1px 8px;font-size:11px}.card{display:block;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 13px;margin-bottom:8px;transition:border-color .15s,transform .08s,box-shadow .15s}.card:hover{border-color:var(--accent-dim);transform:translateY(-1px);box-shadow:var(--shadow)}.card .num{font-size:11.5px;color:var(--accent);font-weight:700;letter-spacing:.3px}.card .name{font-weight:600;margin:3px 0 4px;font-size:14px;line-height:1.35}.card .meta{font-size:12px;color:var(--muted)}.section-label{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:1.6px;color:var(--muted);margin:34px 0 14px;display:flex;align-items:center;gap:10px}.section-label:after{content:"";flex:1 1;height:1px;background:var(--border)}.badge{display:inline-flex;align-items:center;padding:5px 14px;border-radius:999px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;background:var(--panel-2);border:1px solid var(--border);color:var(--text)}.badge.estimating,.badge.lead,.badge.opportunity,.badge.proposal_sent{color:var(--yellow);background:var(--yellow-soft);border-color:transparent}.badge.active,.badge.awarded,.badge.complete{color:var(--green);background:var(--green-soft);border-color:transparent}.badge.declined,.badge.lost{color:var(--red)}.job-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:6px}.job-head h1{font-size:24px;font-weight:750;letter-spacing:-.3px}.job-head .num{color:var(--accent);font-weight:800;font-size:12.5px;letter-spacing:.5px}.aka{color:var(--faint);font-size:12.5px;margin-bottom:22px}.meta-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px;margin:18px 0 8px}@media (max-width:800px){.meta-grid{grid-template-columns:1fr}}.meta-item{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:13px 16px}.meta-item .k{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--faint)}.meta-item .v{font-weight:600;margin-top:3px;font-size:14px}.transitions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px}.doc-group{margin-bottom:14px;max-width:880px}.doc-group summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muted);padding:6px 2px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.doc-group summary::-webkit-details-marker{display:none}.doc-group summary:before{content:"▸";color:var(--faint);transition:transform .15s}.doc-group[open] summary:before{transform:rotate(90deg)}.doc-group summary .count{color:var(--accent)}.doc-list{display:flex;flex-direction:column;gap:7px;margin:6px 0 4px;max-width:880px}.doc-row{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;transition:border-color .15s}.doc-row:hover{border-color:var(--accent-dim)}.doc-name{font-weight:600;font-size:13.5px;overflow-wrap:anywhere}.doc-meta{font-size:11.5px;color:var(--muted);white-space:nowrap}.dropzone{max-width:880px;border:1.5px dashed var(--border-hi);border-radius:var(--radius);padding:22px;text-align:center;color:var(--muted);font-size:13px;margin:14px 0 30px;transition:border-color .15s,background .15s}.dropzone.over{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.dropzone .hint{font-size:12px;color:var(--faint);margin-top:4px}.dropzone .controls{display:flex;gap:10px;justify-content:center;align-items:center;margin-top:12px;flex-wrap:wrap}.dropzone select,.upload-form select{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:7px 10px;font-size:12.5px}.dropzone progress{width:200px;accent-color:var(--accent)}.dropzone .status{font-size:12px;color:var(--accent);margin-top:8px}.stage-list{margin-top:14px;display:flex;flex-direction:column;gap:6px;text-align:left}.stage-row{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 10px}.stage-name{flex:1 1;font-size:12.5px;font-weight:600;color:var(--text);overflow-wrap:anywhere}.stage-remove{background:none;border:none;color:var(--faint);font-size:16px;cursor:pointer;padding:0 4px;line-height:1}.stage-remove:hover{color:var(--red)}.stage-list>.btn{align-self:flex-start;margin-top:6px}.estimate{max-width:880px;margin-bottom:8px}.est-table{width:100%;border-collapse:collapse}.est-table th{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--faint);text-align:left;padding:4px 8px 8px}.est-table td{padding:3px 4px}.est-table tbody input{width:100%;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:7px 10px;font-size:13px}.est-table tbody input:focus{outline:none;border-color:var(--accent)}.est-line-total{font-size:13px;font-weight:600;white-space:nowrap;padding-right:8px}.est-grand-label,.est-line-total{text-align:right;color:var(--muted)}.est-grand-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:12px 8px 0}.est-grand{text-align:right;font-size:16px;font-weight:800;color:var(--green);padding:12px 8px 0;white-space:nowrap}.est-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap;align-items:center}.est-details-row td{padding:0 4px 10px}.est-details-row textarea{width:100%;background:var(--bg-raise);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted);padding:7px 10px;font-size:12.5px;font-family:inherit;resize:vertical}.est-details-row textarea:focus{outline:none;border-color:var(--accent);color:var(--text)}.money-wrap{position:relative}.money-wrap span{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--faint);font-size:13px;pointer-events:none}.money-wrap input{padding-left:22px!important}.est-section{margin-bottom:18px}.est-section-head{display:flex;align-items:center;gap:10px;margin-bottom:4px;padding:4px 4px 4px 0}.est-section-name{background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--accent);font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:1px;padding:5px 8px;width:280px}.est-section-name:hover{border-color:var(--border)}.est-section-name:focus{outline:none;border-color:var(--accent);background:var(--bg-raise)}.est-section-total{margin-left:auto;font-weight:700;font-size:13px;color:var(--muted)}.est-tax-col{text-align:center;width:40px}.est-tax-col input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px}.est-taxrate{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.est-taxrate label{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--faint)}.est-taxrate input{width:80px;background:var(--bg-raise);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:7px 10px;font-size:13px}.est-summary{max-width:880px;margin:16px 0;border-top:1px solid var(--border);padding-top:12px;display:flex;flex-direction:column;gap:6px;align-items:flex-end}.est-summary>div{display:flex;gap:24px;font-size:13px;color:var(--muted)}.est-summary>div strong{min-width:110px;text-align:right;color:var(--text);font-weight:600}.est-summary-grand{font-size:14px!important}.est-summary-grand strong{color:var(--green)!important;font-weight:800!important;font-size:16px}.est-notes{max-width:880px;display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;margin-bottom:6px}.est-notes .field:last-child{grid-column:1/-1}@media (max-width:800px){.est-notes{grid-template-columns:1fr}}.chips{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.chip{background:var(--panel-2);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:5px 13px;font-size:12px;font-weight:600;cursor:pointer;transition:all .12s}.chip:hover{color:var(--text);border-color:var(--border-hi)}.chip.on{background:var(--accent-soft);border-color:var(--accent-dim);color:var(--accent)}.timeline{border-left:2px solid var(--border);padding-left:20px;display:flex;flex-direction:column;gap:4px;max-width:880px}.day-label{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--faint);margin:14px 0 6px}.event{position:relative;padding:6px 0}.event:before{content:"";position:absolute;left:-26px;top:12px;width:9px;height:9px;border-radius:50%;background:var(--faint);border:2px solid var(--bg)}.event.status_change:before{background:var(--accent)}.event.note:before{background:var(--green)}.event .body{font-size:13.5px}.event .when{font-size:11.5px;color:var(--faint)}.form-panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:22px;max-width:580px;box-shadow:var(--shadow)}.field{margin-bottom:14px}.field label{display:block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--muted);margin-bottom:6px}.field input,.field select,.field textarea{width:100%;background:var(--bg-raise);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:9px 12px;font-size:13.5px;font-family:inherit;transition:border-color .15s}.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent)}.note-form{display:flex;gap:10px;margin-top:20px;max-width:880px}.note-form input{flex:1 1;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:9px 13px;font-size:13.5px}.note-form input:focus{outline:none;border-color:var(--accent)}.upload-form{display:flex;gap:10px;align-items:center;margin-bottom:26px;max-width:880px}.upload-form input[type=file]{flex:1 1;color:var(--muted);font-size:12.5px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-box{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:40px;width:400px;box-shadow:var(--shadow)}.login-box .brand{justify-content:center;margin-bottom:10px}.login-box .brand img{height:40px}.login-box p{color:var(--muted);font-size:13px;margin-bottom:24px}.error{color:var(--red);margin-top:12px}.empty,.error{font-size:13px}.empty{color:var(--faint);padding:8px 2px}.bid-line{display:flex;align-items:center;gap:8px;margin:2px 0 4px;flex-wrap:wrap}.due-chip{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;padding:2px 8px;border-radius:999px;background:var(--panel);border:1px solid var(--border);color:var(--muted)}.due-chip.soon{color:var(--yellow);background:var(--yellow-soft);border-color:transparent}.due-chip.urgent{color:var(--accent);background:var(--accent-soft);border-color:transparent}.due-chip.overdue{color:#fff;background:var(--red);border-color:transparent}.bid-line .money{font-size:12px;font-weight:700;color:var(--green)}.bid-line .prob{font-size:11.5px;font-weight:600;color:var(--muted)}.bid-form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:8px;max-width:880px}.bid-field label{display:block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--faint);margin-bottom:5px}.bid-field input,.bid-field select{background:var(--bg-raise);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:7px 10px;font-size:13px;width:150px}.bid-field input:focus,.bid-field select:focus{outline:none;border-color:var(--accent)}.cost-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 4px;border-bottom:1px solid var(--border);font-size:13.5px}.cost-row-edit{gap:8px;padding:10px 4px;background:var(--bg-raise);border-radius:var(--radius-sm)}.cost-vendor{font-weight:600;flex-shrink:0}.cost-kind{font-size:11px;color:var(--faint)}.cost-desc{flex:1 1;min-width:140px}.cost-date{color:var(--faint);font-size:12.5px}.cost-amount{font-weight:700;min-width:82px;text-align:right}.cost-steps{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden}.cost-steps button{border:none;background:transparent;cursor:pointer;padding:3px 9px;font-size:11px;letter-spacing:.3px;color:var(--faint)}.cost-steps button:disabled{cursor:default}.cost-steps button.is-active{color:var(--text);font-weight:700}.cost-steps button.is-on_order{background:rgba(251,191,36,.18)}.cost-steps button.is-received{background:rgba(96,165,250,.18)}.cost-steps button.is-billed{background:rgba(74,222,128,.18)}@media (max-width:700px){.container{padding:16px 14px 70px}.topbar{flex-wrap:wrap;row-gap:6px;padding:10px 14px}.topbar nav{order:3;flex-basis:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.topbar nav::-webkit-scrollbar{display:none}.topbar nav a{white-space:nowrap}.page-head{flex-wrap:wrap;gap:12px}.page-head h1{font-size:19px}.job-head{flex-wrap:wrap;gap:10px}.job-head h1{font-size:20px}input,select,textarea{font-size:16px!important}.btn{min-height:42px}.btn.small{min-height:38px;padding:8px 14px}.stage-remove{min-width:38px;min-height:38px}.chip{padding:8px 12px}.estimate{overflow-x:auto;-webkit-overflow-scrolling:touch}.est-table{min-width:680px}.payapp-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.payapp-scroll>.payapp-inner{min-width:660px}.bid-form{gap:10px}.est-notes{grid-template-columns:1fr}.est-summary>div{gap:12px}.note-form{flex-direction:column}.upload-form{flex-wrap:wrap}.timeline{padding-left:14px}.topbar-search{order:2;flex-basis:100%;max-width:none;margin-left:0}.cost-row{align-items:flex-start;gap:6px 10px;padding:12px 4px}.cost-desc{flex-basis:100%;order:1;font-weight:500}.cost-kind,.cost-vendor{order:0}.cost-date{order:2}.cost-amount{order:2;min-width:0;margin-left:auto;font-size:15px}.cost-steps{order:3;flex-basis:100%}.cost-steps button{flex:1 1;min-height:38px;font-size:12px}.cost-row>.cost-files{order:4;flex-basis:100%}.cost-row>.btn{order:5}.cost-row>form{order:5;margin-left:auto}.cost-row-edit{flex-direction:column;align-items:stretch}.cost-row-edit>*{width:100%}}