:root{--paper:#1f2328;--ink:#1f2328;--blueprint:#faf9f7;--blueprint-2:#fff;--blueprint-3:#f1efea;--muted:#6b7076;--line:#e5e2db;--line-strong:#e0ddd4;--amber:#cf9c34;--amber-dim:#8a6d1f;--amber-text:#8a6d1f;--amber-tint:#edeae3;--focus-ring:#cf9c344d;--on-accent:#fff;--ai-tint:#6e4fc00d;--shadow:0 1px 2px #1f23280d, 0 4px 16px #1f23280f;--rust:#a23b33;--ok:#3f7d4e;--ok-tint:#e2ece5;--warning:#b4881f;--info:#2a6594;--brand:#1e6fd9;--brand-hover:#185db8;--ai:#6e4fc0;--radius:5px;--radius-lg:14px;--radius-sm:4px;--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{height:100%}#root{flex-direction:column;min-height:100%;display:flex}body{background:var(--blueprint);color:var(--paper);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-variant-numeric:tabular-nums;margin:0;font-size:14.5px;line-height:1.55}code,.mono{font-family:var(--font-mono)}a{color:inherit}.wrap{flex-direction:column;flex:1 0 auto;width:100%;max-width:1000px;margin:0 auto;padding:22px 20px 24px;display:flex}header.hero{background:var(--blueprint-2);border-bottom:1px solid var(--line-strong);z-index:20;flex:none;padding:6px 24px;position:sticky;top:0}.kicker{font-family:var(--font-sans);letter-spacing:.04em;color:var(--amber-text);margin:0 0 6px;font-size:12px}h1{letter-spacing:-.01em;margin:0 0 6px;font-size:clamp(22px,4vw,30px);font-weight:600}.sub{color:var(--muted);max-width:68ch;margin:0;font-size:14.5px;line-height:1.5}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:20px 0 14px;display:flex}.toolbar-left{flex-wrap:wrap;flex:1;align-items:center;gap:10px;display:flex}input:not([type]),input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=tel],input[type=url],input[type=date],textarea,select{background:var(--blueprint-2);border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--paper);font-family:var(--font-sans);outline:none;padding:8px 10px;font-size:13.5px}input::placeholder,textarea::placeholder{color:var(--paper);opacity:.4}input:focus,textarea:focus,select:focus{border-color:var(--amber);box-shadow:0 0 0 3px var(--focus-ring)}textarea{font-family:var(--font-sans);resize:vertical}label{font-family:var(--font-sans);opacity:.6;text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px;font-size:11.5px;display:block}.chip{font-family:var(--font-sans);letter-spacing:.02em;border:1px solid var(--line-strong);color:var(--paper);opacity:.72;border-radius:var(--radius);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;padding:6px 11px;font-size:11.5px}.chip:hover{opacity:1}.chip.active{background:var(--blueprint-3);border-color:var(--blueprint-3);color:var(--amber-text);opacity:1;font-weight:600}button{font-family:var(--font-sans);border-radius:var(--radius);border:1px solid var(--line-strong);color:var(--paper);cursor:pointer;background:0 0;padding:8px 14px;font-size:12.5px}button:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}button:disabled{opacity:.35;cursor:not-allowed}button.primary{background:var(--brand);border-color:var(--brand);color:var(--on-accent);font-weight:600}button.primary:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover);color:var(--on-accent)}button.ghost{opacity:.6;border-color:#0000}button.ghost:hover{opacity:1;border-color:var(--line-strong)}.badge{font-family:var(--font-sans);letter-spacing:.02em;text-transform:uppercase;border-radius:var(--radius-sm);white-space:nowrap;border:1px solid #0000;padding:3px 8px;font-size:10.5px;display:inline-block}.badge-draft{color:var(--paper);opacity:.6;border-color:var(--line-strong)}.badge-bidding{color:var(--ink);background:var(--amber)}.badge-submitted{color:var(--on-accent);background:var(--info)}.badge-awarded{color:var(--on-accent);background:var(--ok)}.badge-lost{color:var(--on-accent);background:var(--rust)}.badge-archived{color:var(--paper);opacity:.45;border-color:var(--line-strong);font-style:italic}.badge-uploaded{color:var(--paper);opacity:.6;border-color:var(--line-strong)}.badge-processing{color:var(--ink);background:var(--amber)}.badge-processed{color:var(--on-accent);background:var(--ok)}.badge-no_data_extracted{color:var(--on-accent);background:var(--rust)}.badge-unsupported_type{color:var(--paper);opacity:.5;border-color:var(--line-strong);font-style:italic}.badge-failed{color:var(--on-accent);background:var(--rust)}.badge-not_reviewed{color:var(--paper);opacity:.6;border-color:var(--line-strong)}.badge-approved{color:var(--on-accent);background:var(--ok)}.badge-rejected{color:var(--on-accent);background:var(--rust)}.badge-reopened{color:var(--ink);background:var(--amber)}.badge-documented{color:var(--paper);opacity:.55;border-color:var(--line-strong)}.badge-corrected{color:var(--ink);background:var(--amber)}.badge-calculated{color:var(--ok);border-color:var(--ok)}.badge-ai_drafted{color:var(--on-accent);background:var(--ai)}.line-item.ai-drafted{border-left-color:var(--ai);background:var(--ai-tint)}.ai-note{opacity:.75;margin-top:4px;font-size:12px;font-style:italic}.badge-flagged{color:var(--on-accent);background:var(--rust)}.badge-match{color:var(--ok);border-color:var(--ok)}.badge-mismatch{color:var(--on-accent);background:var(--rust)}.card{background:var(--blueprint-2);border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:var(--radius-lg);margin-bottom:10px;padding:14px 16px;text-decoration:none;display:block}.card:hover{border-left-color:var(--amber)}.card-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.card-name{font-size:15.5px;font-weight:600}.card-meta{font-family:var(--font-sans);opacity:.6;flex-wrap:wrap;gap:14px;margin-top:5px;font-size:12px;display:flex}.panel{background:var(--blueprint-2);border:1px solid var(--line-strong);border-radius:var(--radius-lg);margin-bottom:20px;padding:18px 20px}.panel h2{margin:0 0 14px;font-size:15px;font-weight:600}.field-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:14px;display:grid}.field-grid textarea,.field-grid.full,.field-grid>.full{grid-column:1/-1}.address-fields{grid-template-columns:minmax(0,2fr) minmax(0,1.2fr) minmax(70px,.5fr) minmax(90px,.6fr);gap:14px;display:grid}.address-fields input{width:100%}@media (width<=700px){.address-fields{grid-template-columns:1fr 1fr}.address-street{grid-column:1/-1}}.form-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.form-section+.form-section{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.form-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--amber-text);margin:0 0 12px;font-size:11.5px;font-weight:700}.form-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px 16px;display:grid}.form-grid input,.form-grid textarea,.form-grid select{width:100%}.form-grid textarea{min-height:88px}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.span-5{grid-column:span 5}.span-6{grid-column:span 6}.span-12{grid-column:span 12}@media (width<=760px){.form-grid>[class*=span-]{grid-column:span 12}.form-grid>.span-2,.form-grid>.span-3{grid-column:span 6}}.form-actions-bar{border-top:1px solid var(--line);align-items:center;margin-top:20px;padding-top:14px}.span-4{grid-column:span 4}.span-8{grid-column:span 8}.detail-title{margin:0 0 12px;font-size:15px;font-weight:600}.detail-list{grid-template-columns:150px minmax(0,1fr);gap:9px 16px;margin:0 0 18px;font-size:14px;line-height:1.45;display:grid}.detail-list dt{color:var(--muted)}.detail-list dd{overflow-wrap:anywhere;margin:0}.detail-accent{color:var(--amber-text)}.detail-empty{color:var(--muted)}@media (width<=520px){.detail-list{grid-template-columns:110px minmax(0,1fr)}}.project-status{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;padding-bottom:16px;display:flex}.project-status-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11.5px;font-weight:700}.empty{text-align:center;opacity:.5;font-family:var(--font-sans);padding:60px 20px;font-size:13px}.error-banner{border:1px solid var(--rust);color:var(--rust);border-radius:var(--radius);font-family:var(--font-sans);margin-bottom:14px;padding:10px 14px;font-size:12.5px}.back-link{font-family:var(--font-sans);opacity:.65;margin-bottom:14px;font-size:12.5px;text-decoration:none;display:inline-block}.back-link:hover{opacity:1;color:var(--amber-text)}.back-link.title-link{letter-spacing:-.01em;opacity:1;color:var(--paper);align-items:baseline;gap:8px;font-size:18px;font-weight:600;line-height:1.25;display:inline-flex}.title-link .bid-number{font-size:.85em}.title-link-arrow{color:var(--muted);font-weight:400}.back-link.title-link:hover,.back-link.title-link:hover .title-link-arrow{color:var(--brand)}.status-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}footer{opacity:.45;text-align:center;margin-top:auto;padding-top:40px;font-size:12px;line-height:1.6}footer:before{content:"";border-top:1px solid var(--line);margin-bottom:16px;display:block}.stat-row{flex-wrap:wrap;gap:10px 22px;margin-bottom:14px;display:flex}.stat{font-family:var(--font-mono)}.stat .n{color:var(--amber-text);font-size:20px;font-weight:700;display:block}.stat .l{opacity:.6;text-transform:uppercase;letter-spacing:.03em;font-size:11px}.gate-note{color:var(--rust);font-size:12px;font-family:var(--font-sans);margin-top:8px}.approvals-log{opacity:.65;font-size:12px;font-family:var(--font-sans);margin-top:12px}.approvals-log div{padding:2px 0}.section-block{margin-bottom:18px}.section-head{border-bottom:1px solid var(--line-strong);font-family:var(--font-mono);justify-content:space-between;align-items:baseline;padding:8px 2px;display:flex}.section-head .code{color:var(--amber-text);font-weight:600}.section-head .totals{align-items:center;gap:10px;font-size:12.5px;display:flex}.line-item{border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:var(--radius);background:var(--blueprint-2);margin-top:8px;padding:11px 13px}.line-item.corrected{border-left-color:var(--amber)}.line-item.flagged{border-left-color:var(--rust)}.li-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.li-desc{font-size:14px;font-weight:500}.li-badges{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.li-fields{font-family:var(--font-mono);flex-wrap:wrap;gap:16px;margin-top:7px;font-size:13px;display:flex}.field{align-items:center;gap:6px;display:flex}.field .fl{opacity:.55;text-transform:uppercase;font-size:11px}.field .fv{cursor:pointer;border-bottom:1px dashed var(--line-strong);padding-bottom:1px}.field .fv:hover{border-bottom-color:var(--amber);color:var(--amber-text)}.li-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.edit-box{background:var(--blueprint-3);border:1px solid var(--amber-dim);border-radius:var(--radius);flex-direction:column;gap:6px;margin-top:8px;padding:10px;display:flex}.edit-box input,.edit-box textarea{width:100%}.edit-box .row{gap:6px;display:flex}.edit-box .row>*{flex:1}.history{border-top:1px dashed var(--line);font-size:12px;font-family:var(--font-sans);opacity:.85;margin-top:8px;padding-top:7px}.history summary{cursor:pointer;opacity:.6}.history .row{border-bottom:1px solid var(--line);padding:4px 0}.history .row:last-child{border-bottom:none}.history .open-flag{color:var(--rust)}.narrative-block{border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:var(--radius);background:var(--blueprint-2);margin-top:8px;padding:10px 13px;font-size:13.5px;line-height:1.5}.citation-line{font-family:var(--font-sans);opacity:.5;margin-top:6px;font-size:11px}.dropzone{border:1px dashed var(--line-strong);border-radius:var(--radius-lg);text-align:center;font-family:var(--font-sans);opacity:.75;cursor:pointer;padding:22px;font-size:13px}.dropzone.active{border-color:var(--amber);color:var(--amber-text);opacity:1;background:var(--amber-tint)}.dropzone input{display:none}.wrap:has(.estimate-page){max-width:none}.wrap:has(.company-settings){max-width:1000px}.save-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.unsaved{font-family:var(--font-sans);color:var(--amber-text);font-size:12px}.table-scroll{margin:0 -4px;overflow-x:auto}.est-table{border-collapse:collapse;min-width:100%;font-size:13px}.est-table th{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.03em;color:color-mix(in srgb, var(--paper) 60%, var(--blueprint-2));text-align:left;border-bottom:1px solid var(--line-strong);white-space:nowrap;padding:6px 4px;font-size:10.5px;font-weight:500}.est-table td{vertical-align:top;border-bottom:1px solid var(--line);padding:3px 4px}.est-table input[type=text],.est-table select,.est-table textarea{padding:5px 6px;font-size:12.5px}.est-table td.num{font-family:var(--font-mono);text-align:right;white-space:nowrap;padding-top:9px}.est-table th.num{text-align:right}.est-table td.text-cell{padding-top:9px}.est-table .strong{font-weight:700}.est-table tr.flagged td:first-child{box-shadow:inset 3px 0 0 var(--rust)}.est-table tr.unpriced td:first-child{box-shadow:inset 3px 0 0 var(--amber)}.est-table tr.resolved{opacity:.5}.est-table tfoot td{font-family:var(--font-mono);text-align:right;padding:6px 4px}.est-table tfoot tr.tot td{border-top:1px solid var(--line-strong);font-weight:600}.est-table tfoot tr.big td{color:var(--amber-text);font-size:15px}.sec-row td{border-bottom:1px solid var(--line-strong);padding-top:16px}.sec-head{align-items:center;gap:6px;display:flex}.sec-head input.sec-name{color:var(--amber-text);background:0 0;border-color:#0000;min-width:280px;font-weight:600}.sec-head input.sec-name:hover{border-color:var(--line-strong)}.sec-total{color:var(--amber-text);margin-left:auto;font-weight:600}.row-tools{gap:0;display:flex}.row-tools button,.sec-head button{padding:4px 7px}.cell input.formula{color:var(--info)}.cell input.bad{border-color:var(--rust)}.cell-out{font-family:var(--font-mono);opacity:.7;text-align:right;padding:2px 2px 0;font-size:11px}.cell-err{font-family:var(--font-sans);color:var(--rust);max-width:160px;padding-top:2px;font-size:10.5px}.name-help{margin-bottom:10px;font-size:12.5px}.name-help summary{cursor:pointer;opacity:.7;font-family:var(--font-sans);font-size:12px}.name-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:3px 16px;margin-top:8px;font-size:12px;display:grid}.name-grid code{color:var(--info)}.name-grid span{opacity:.6}.chip.active:hover:not(:disabled){color:var(--amber-text)}.kicker-row{justify-content:space-between;align-items:baseline;display:flex}.header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;display:flex}.header-brand{color:var(--paper)}.brand-text{flex-direction:column;line-height:1.1;display:flex}.brand-name{letter-spacing:-.01em;font-size:24px;font-weight:600}.header-brand .kicker{margin:4px 0 0;font-size:10.5px}.header-brand .brand-mark{height:38px}@media (width<=600px){.brand-name{font-size:20px}.header-brand .brand-mark{height:30px}}header.hero .header-brand{gap:8px}header.hero .brand-name{font-size:18px}header.hero .header-brand .kicker{margin:2px 0 0;font-size:9px}header.hero .header-brand .brand-mark{height:28px}@media (width<=600px){header.hero .brand-name{font-size:17px}header.hero .header-brand .brand-mark{height:26px}}.kicker-link{font-family:var(--font-sans);opacity:.7;font-size:12px;text-decoration:none}.kicker-link:hover{opacity:1;color:var(--amber-text)}.sticky-head{top:var(--header-h,0px);z-index:5;position:sticky;box-shadow:0 6px 12px -10px #1f232840}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-head .sub{max-width:80ch}.sub button.link-button{color:var(--brand);font-size:inherit;text-decoration:underline}.formula-ref{border:1px solid var(--line);border-radius:var(--radius);background:var(--blueprint);margin:0 0 14px}.formula-ref summary{cursor:pointer;padding:9px 12px;font-size:13px;font-weight:600}.formula-ref-body{padding:0 12px 12px}.formula-ref-note{color:var(--muted);margin:0 0 10px;font-size:12.5px;line-height:1.6}.formula-ref-note:last-child{margin:10px 0 0}.formula-ref-cols{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:10px 24px;display:grid}.formula-ref table{border-collapse:collapse;width:100%;font-size:12.5px}.formula-ref th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);border-bottom:1px solid var(--line-strong);padding:3px 8px 5px 0;font-size:11px;font-weight:500}.formula-ref td{border-bottom:1px solid var(--line);vertical-align:top;padding:3px 8px 3px 0}.formula-ref code{color:var(--info);font-size:12px}.formula-ref .code-chip{background:var(--blueprint-2);border:1px solid var(--line);border-radius:var(--radius-sm);margin:2px 4px 2px 0;padding:0 6px;display:inline-block}@media (width<=900px){.formula-ref-cols{grid-template-columns:1fr}}.logo-field{margin-bottom:18px}.logo-row{flex-direction:column;gap:10px;display:flex}.logo-preview{border:1px dashed var(--line-strong);border-radius:var(--radius);background:#fff;justify-content:center;align-items:center;width:100%;min-height:110px;padding:14px;display:flex}.logo-preview img{max-width:100%;max-height:160px;display:block}.logo-actions{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.logo-buttons{gap:8px;display:flex}dialog.modal{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--blueprint-2);width:min(440px,100vw - 32px);color:var(--paper);padding:22px 24px 18px;box-shadow:0 12px 40px #1f23282e}dialog.modal::backdrop{background:#1f232859}dialog.modal h2{margin:0 0 8px;font-size:16.5px}.modal-message{color:var(--muted);white-space:pre-line;margin:0 0 4px;font-size:14px;line-height:1.55}.modal-field{margin-top:14px}.modal-field input{width:100%}.modal-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}button.danger{background:var(--rust);border-color:var(--rust);color:var(--on-accent);font-weight:600}button.danger:hover:not(:disabled){color:var(--on-accent);background:#8a302a;border-color:#8a302a}.crew-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.notice{background:var(--blueprint-3);border-radius:var(--radius);margin-bottom:12px;padding:9px 12px;font-size:13px}.bid-number{font-family:var(--font-mono);color:var(--amber-text);font-weight:600}h2 .bid-number{margin-right:4px;font-size:.85em}.wrap:has(.bid-split){max-width:none}.bid-split{grid-template-columns:minmax(0, var(--split,55%)) 12px minmax(0, 1fr);align-items:start;display:grid}.bid-split .bid-main{min-width:0}.split-handle{cursor:col-resize;touch-action:none;align-self:stretch;position:relative}.split-handle:after{content:"";background:var(--line-strong);border-radius:2px;width:2px;position:absolute;top:0;bottom:0;left:5px}.split-handle:hover:after,.dragging .split-handle:after{background:var(--brand)}.dragging{-webkit-user-select:none;user-select:none;cursor:col-resize}.dragging .doc-frame{pointer-events:none}.doc-pane{top:calc(var(--header-h,0px) + 12px);height:calc(100vh - var(--header-h,0px) - 24px);background:var(--blueprint-2);border:1px solid var(--line-strong);border-radius:var(--radius-lg);flex-direction:column;gap:8px;padding:10px;display:flex;position:sticky}.doc-pane-bar{align-items:center;gap:6px;display:flex}.doc-pane-bar select{flex:1;min-width:0}.doc-pane-bar .button-link,.doc-pane-bar button{padding:6px 10px}.doc-frame{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex:1;width:100%}@media (width<=900px){.bid-split{grid-template-columns:1fr}.split-handle{display:none}.doc-pane{height:80vh;margin-top:16px;position:static}}.wrap:has(.landing){max-width:none;padding:0 0 24px}.landing{--lp-max:1120px}.landing>*{width:100%}.lp-nav,.lp-hero,.lp-section,.lp-final,.lp-band-inner{max-width:var(--lp-max);margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}.lp-nav{justify-content:space-between;align-items:center;gap:16px;padding-top:20px;padding-bottom:20px;display:flex}.lp-nav .brand{color:var(--paper)}.lp-nav-links{align-items:center;gap:22px;font-size:14px;display:flex}.lp-nav-links a{color:var(--paper);opacity:.8;text-decoration:none}.lp-nav-links a:hover{opacity:1}.lp-btn{border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--blueprint-2);color:var(--paper);padding:10px 18px;font-size:14px;font-weight:600;text-decoration:none;display:inline-block}.lp-btn:hover{border-color:var(--brand);color:var(--brand)}.lp-nav-links a.lp-btn{opacity:1}.lp-btn-primary,.lp-nav-links a.lp-btn-primary{background:var(--brand);border-color:var(--brand);color:var(--on-accent)}.lp-btn-primary:hover,.lp-nav-links a.lp-btn-primary:hover{background:var(--brand-hover);border-color:var(--brand-hover);color:var(--on-accent)}.lp-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:48px;padding-top:48px;padding-bottom:72px;display:grid}.lp-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--amber-text);margin:0 0 12px;font-size:12.5px;font-weight:600}.lp-hero h1{letter-spacing:-.03em;margin:0 0 18px;font-size:clamp(38px,5.4vw,60px);font-weight:700;line-height:1.05}.lp-lead{color:var(--muted);max-width:54ch;margin:0 0 28px;font-size:17.5px;line-height:1.6}.lp-cta{flex-wrap:wrap;gap:12px;display:flex}.lp-preview{background:var(--blueprint-2);border:1px solid var(--line);border-radius:var(--radius-lg);font-size:12.5px;overflow:hidden;box-shadow:0 2px 4px #1f23280a,0 24px 60px -20px #1f232840}.lp-preview-bar{border-bottom:1px solid var(--line);background:var(--blueprint);align-items:center;gap:6px;padding:10px 14px;display:flex}.lp-dot{background:var(--line-strong);border-radius:50%;width:9px;height:9px}.lp-preview-title{font-family:var(--font-mono);color:var(--muted);margin-left:8px;font-size:11.5px}.lp-preview-stats{grid-template-columns:repeat(3,1fr);gap:8px;padding:16px 16px 12px;display:grid}.lp-preview-stats b{font-family:var(--font-mono);color:var(--amber-text);font-size:18px;display:block}.lp-preview-stats span{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:10.5px}.lp-preview-section{border-bottom:1px solid var(--line-strong);color:var(--amber-text);justify-content:space-between;margin:0 16px;padding:8px 0;font-weight:600;display:flex}.lp-preview-section b{font-family:var(--font-mono)}.lp-preview table{border-collapse:collapse;width:calc(100% - 32px);margin:0 16px}.lp-preview td{border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 6px 8px 0}.lp-preview td:nth-child(3){color:var(--muted)}.lp-formula{font-family:var(--font-mono);color:var(--info)}.lp-num{text-align:right;font-family:var(--font-mono);font-weight:600}.lp-preview-note{color:var(--muted);text-align:right;padding:10px 16px 12px;font-size:10.5px}.lp-section{padding-top:72px;padding-bottom:72px}.lp-section h2,.lp-final h2{letter-spacing:-.02em;max-width:22ch;margin:0 0 36px;font-size:clamp(26px,3.2vw,36px);font-weight:700;line-height:1.15}.lp-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.lp-card{background:var(--blueprint-2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px}.lp-card h3,.lp-team h3,.lp-steps h3{letter-spacing:-.01em;margin:0 0 8px;font-size:16.5px}.lp-card p,.lp-team p,.lp-steps p{color:var(--muted);margin:0;font-size:14.5px;line-height:1.6}.lp-icon{width:38px;height:38px;color:var(--brand);background:#1e6fd917;border-radius:10px;margin-bottom:16px;padding:8px}.lp-band{background:var(--blueprint-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:none;padding-left:0;padding-right:0}.lp-band-inner{grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);align-items:start;gap:48px;display:grid}.lp-band h2{margin-bottom:0}.lp-team{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px;display:grid}.lp-steps{counter-reset:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none;display:grid}.lp-steps li{border-top:2px solid var(--brand);padding-top:18px}.lp-step-n{background:var(--brand);width:28px;height:28px;color:var(--on-accent);border-radius:50%;justify-content:center;align-items:center;margin-bottom:12px;font-size:13.5px;font-weight:700;display:inline-flex}.lp-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:48px;display:grid}.lp-points{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px;display:grid}.lp-points h3{margin:0 0 6px;font-size:16px}.lp-points p{color:var(--muted);margin:0;font-size:14.5px;line-height:1.6}.lp-plan{border-bottom:1px solid var(--line);width:100%;height:auto;display:block}.lp-takeoff-list{flex-direction:column;gap:6px;padding:10px 16px 0;font-size:12.5px;display:flex}.lp-takeoff-list div{align-items:center;gap:8px;display:flex}.lp-takeoff-list span{border-radius:3px;flex:none;width:10px;height:10px}.lp-takeoff-list code{font-family:var(--font-mono);color:var(--info);font-size:11.5px}.lp-takeoff-list b{font-family:var(--font-mono);margin-left:auto}.lp-ai{background:linear-gradient(180deg, #faf5fd 0%, var(--blueprint) 100%);border-radius:var(--radius-lg)}.lp-eyebrow-ai{color:#8e2ba8}.lp-card-ai{border-color:#e5cff0}.lp-card-ai h3{color:#6b1f80}.lp-ai-note{color:var(--muted);margin:18px 0 0;font-size:13.5px}.lp-tiers{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.lp-tier{background:var(--blueprint-2);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;padding:26px 24px;display:flex}.lp-tier h3{color:var(--amber-text);text-transform:uppercase;letter-spacing:.05em;margin:0 0 10px;font-size:15px}.lp-price{letter-spacing:-.02em;font-size:38px;font-weight:700;line-height:1.1}.lp-price span{color:var(--muted);letter-spacing:0;margin-left:6px;font-size:15px;font-weight:500}.lp-tier-projects{margin:10px 0 4px;font-size:16px}.lp-tier-ai{color:var(--muted);margin:0 0 14px;font-size:14px}.lp-tier-ai b{color:var(--brand)}.lp-tier ul{color:var(--muted);flex:1;margin:0 0 20px;padding-left:18px;font-size:14px;line-height:1.7}.lp-tier .lp-btn{text-align:center}.lp-pricing-notes{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 28px;margin-top:28px;padding-top:24px;display:grid}.lp-pricing-notes h3{margin:0 0 6px;font-size:15.5px}.lp-pricing-notes p{color:var(--muted);margin:0;font-size:14.5px;line-height:1.6}.lp-final{text-align:center;padding-top:40px;padding-bottom:56px}.lp-final-logo{width:260px;max-width:70%;height:auto;margin:0 auto 20px;display:block}.lp-final h2{max-width:none;margin:0 auto 10px}.lp-final p{color:var(--muted);margin:0 0 24px;font-size:16px}@media (width<=960px){.lp-hero,.lp-band-inner,.lp-split{grid-template-columns:1fr;gap:36px}.lp-tiers,.lp-pricing-notes{grid-template-columns:1fr}.lp-grid,.lp-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.lp-nav-links a:not(.lp-btn){display:none}.lp-nav-links a[href=\/login]{display:inline}.lp-grid,.lp-team,.lp-steps,.lp-points{grid-template-columns:1fr}.lp-section{padding-top:52px;padding-bottom:52px}.lp-preview td:nth-child(3){display:none}}.doc-mode{gap:4px;display:flex}.doc-mode .chip{padding:5px 9px}.takeoff{flex-direction:column;flex:1;gap:6px;min-height:0;display:flex}.takeoff-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;display:flex}.takeoff-tools,.takeoff-nav{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.takeoff-tools .chip{padding:5px 9px}.takeoff-nav button{padding:4px 8px}.takeoff-nav select{max-width:150px;padding:4px 6px;font-size:12.5px}.takeoff-nav select.takeoff-noscale{border-color:var(--rust);color:var(--rust)}.takeoff-hint{color:var(--muted);min-height:16px;font-size:11.5px}.takeoff-boxmode{vertical-align:middle;color:var(--paper);text-transform:none;letter-spacing:0;opacity:1;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;margin:0 12px 0 0;font-size:12px;font-weight:600;display:inline-flex}.takeoff-boxmode input{width:auto;accent-color:var(--brand);margin:0}.takeoff-canvas{border:1px solid var(--line);border-radius:var(--radius);background:#e9e7e1;flex:1;min-height:0;padding:8px;overflow:auto}.takeoff-sheet{background:#fff;line-height:0;display:inline-block;position:relative;box-shadow:0 1px 4px #1f232833}.takeoff-sheet canvas{display:block}.takeoff-overlay{width:100%;height:100%;position:absolute;inset:0}.takeoff-overlay.tool-area,.takeoff-overlay.tool-linear,.takeoff-overlay.tool-cut,.takeoff-overlay.tool-scale,.takeoff-overlay.tool-count{cursor:crosshair}.takeoff-overlay.tool-select{cursor:grab;touch-action:none}.takeoff-overlay.tool-select.panning{cursor:grabbing}.takeoff-overlay.tool-select .takeoff-shape{cursor:pointer}.takeoff-overlay.tool-select.shift .takeoff-shape:not(circle){cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M6 0v12M0 6h12' stroke='#fff' stroke-width='3'/%3E%3Cpath d='M6 0v12M0 6h12' stroke='#1F2328' stroke-width='1.2'/%3E%3Ccircle cx='17' cy='18' r='5.5' fill='#1E6FD9' stroke='#fff' stroke-width='1.2'/%3E%3Cpath d='M14 18h6' stroke='#fff' stroke-width='2'/%3E%3Cpath d='M17 15v6' stroke='#fff' stroke-width='2'/%3E%3C/svg%3E") 6 6,copy}.takeoff-overlay.tool-select .takeoff-handle{cursor:move}.takeoff-overlay.tool-select.shift .takeoff-handle{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M6 0v12M0 6h12' stroke='#fff' stroke-width='3'/%3E%3Cpath d='M6 0v12M0 6h12' stroke='#1F2328' stroke-width='1.2'/%3E%3Ccircle cx='17' cy='18' r='5.5' fill='#A23B33' stroke='#fff' stroke-width='1.2'/%3E%3Cpath d='M14 18h6' stroke='#fff' stroke-width='2'/%3E%3C/svg%3E") 6 6,not-allowed}.takeoff-shape.selected{filter:drop-shadow(0 0 2px #000);stroke-dasharray:none}.takeoff-items{flex:none;padding-top:2px;font-size:12.5px;overflow:auto}.takeoff-split{cursor:row-resize;touch-action:none;flex:none;height:10px;margin:-2px 0;position:relative}.takeoff-split:after{content:"";background:var(--line-strong);border-radius:2px;height:2px;position:absolute;top:4px;left:0;right:0}.takeoff-split:hover:after,.takeoff.resizing .takeoff-split:after{background:var(--brand)}.takeoff.resizing{-webkit-user-select:none;user-select:none;cursor:row-resize}.takeoff.resizing .takeoff-canvas{pointer-events:none}.takeoff-items-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.takeoff-new{color:var(--muted);align-items:center;gap:2px;display:flex}.takeoff-new button{padding:3px 7px;font-size:12px}.takeoff-item{border-radius:var(--radius-sm);cursor:pointer;flex-wrap:wrap;align-items:center;gap:6px;padding:4px 6px;display:flex}.takeoff-item.active{background:var(--blueprint-3)}.takeoff-swatch{border-radius:3px;flex:none;width:12px;height:12px}.takeoff-swatch.picker{cursor:pointer;width:16px;height:16px;position:relative;box-shadow:inset 0 0 0 1px #00000026}.takeoff-swatch.picker:hover{box-shadow:0 0 0 2px var(--line-strong)}.takeoff-swatch.picker input{opacity:0;cursor:pointer;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.takeoff-item input{padding:3px 6px;font-size:12px}.takeoff-name{flex:1;min-width:90px}.takeoff-code{width:70px}.takeoff-dim{width:52px}.takeoff-qty{min-width:90px;font-size:12px}.takeoff-link{max-width:150px;padding:3px 4px;font-size:12px}.takeoff-item button{padding:2px 6px}button.eye-btn{color:var(--muted);padding:2px 4px;line-height:0}button.eye-btn svg{display:block}button.eye-btn.off{color:var(--line-strong)}.takeoff-where{flex-wrap:wrap;flex-basis:100%;gap:4px;padding-left:18px;display:flex}.takeoff-item button.where-chip{background:var(--blueprint-2);border-color:var(--line);color:var(--muted);border-radius:999px;padding:1px 7px;font-size:11px}.takeoff-item button.where-chip.here{border-color:var(--brand);color:var(--brand)}.where-doc{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:140px;display:inline-block;overflow:hidden}.takeoff-label{font-family:var(--font-sans);paint-order:stroke;stroke:#fff;pointer-events:none;font-weight:700}.takeoff-handle{fill:#fff;stroke:#1f2328}.takeoff-handle:hover{fill:#1e6fd9}.takeoff-overlay.shift .takeoff-handle:hover{fill:#a23b33}.takeoff-note{cursor:pointer}.takeoff-note.selected circle{stroke:#1f2328}.takeoff-sheet-select{max-width:230px;padding:4px 6px;font-size:12.5px}.takeoff-compare-key{margin-left:4px;display:inline-block}.takeoff-compare-key .k-red{color:#d7263d}.takeoff-compare-key .k-blue{color:#1e6fd9}.takeoff-check{text-transform:none;letter-spacing:0;align-items:center;gap:4px;margin:0 0 0 auto;font-size:12px;display:inline-flex}.takeoff-check input{margin:0}.assembly-head{flex-wrap:wrap;flex:1;align-items:center;gap:8px 12px;min-width:260px;display:flex}.assembly-dim{text-transform:none;letter-spacing:0;align-items:center;gap:6px;margin:0;font-size:12px;display:inline-flex}.bid-tabs{gap:8px}button.bid-tab{font-family:var(--font-sans);color:var(--paper);background:var(--blueprint-2);border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:var(--radius);align-items:center;gap:7px;padding:10px 18px;font-size:14px;font-weight:400;display:inline-flex}button.bid-tab:hover:not(:disabled){color:var(--paper);border-color:var(--line-strong);border-left-color:var(--amber)}button.bid-tab.active{color:var(--brand);border-color:var(--brand);border-left-color:var(--brand);box-shadow:0 0 0 1px var(--brand) inset;background:#f1f6fd}.bid-tab-count{background:var(--rust);color:var(--on-accent);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:700}.bid-table tbody.sec-alt>tr>td{background:#f6f4ef}.bid-table tbody.sec-alt>tr.detail-row>td{background:var(--blueprint-3)}.overrides-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.overrides-title{text-transform:uppercase;letter-spacing:.05em;color:var(--amber-text);margin:0;font-size:13px;font-weight:700}.overrides-title span{text-transform:none;letter-spacing:0;color:var(--muted);margin-left:8px;font-size:12px;font-weight:400}.columns-toggle{align-items:center;gap:10px;margin:4px 0 8px;display:flex}.bid-table.simple thead th:nth-child(5),.bid-table.simple thead th:nth-child(6),.bid-table.simple thead th:nth-child(n+8):nth-child(-n+11),.bid-table.simple thead th:nth-child(13),.bid-table.simple thead th:nth-child(16),.bid-table.simple tr.line-row>td:nth-child(5),.bid-table.simple tr.line-row>td:nth-child(6),.bid-table.simple tr.line-row>td:nth-child(n+8):nth-child(-n+11),.bid-table.simple tr.line-row>td:nth-child(13),.bid-table.simple tr.line-row>td:nth-child(16){display:none}.bid-table input.line-start{width:128px;padding:4px 5px;font-size:12px}button.qty-result{width:100px;font-family:var(--font-mono);text-align:right;background:var(--blueprint-3);border:1px solid var(--line);color:var(--paper);cursor:pointer;justify-content:flex-end;align-items:center;gap:6px;padding:5px 6px;font-size:12.5px;display:inline-flex}button.qty-result:hover:not(:disabled){border-color:var(--brand);color:var(--paper)}button.qty-result.bad{border-color:var(--rust);color:var(--rust)}.qty-fx{color:var(--info);font-style:italic;font-family:var(--font-sans);margin-right:auto}.takeoff-tools .ai-chip{color:#8e2ba8;border-color:#ae3ec9}.takeoff-tools .ai-chip.active{color:#8e2ba8;background:#f3e8fa;border-color:#ae3ec9}.ai-panel{border-radius:var(--radius);background:#faf5fd;border:1px solid #e5cff0;flex-wrap:wrap;align-items:center;gap:6px;padding:6px;display:flex}.ai-panel select{padding:5px 6px;font-size:12.5px}.ai-panel input{flex:1;min-width:180px;padding:6px 8px;font-size:13px}.ai-panel button{padding:6px 12px}.notice.ai-note{background:#faf5fd;margin:0;font-size:12.5px}.ai-draft-tag{text-transform:uppercase;letter-spacing:.03em;color:#8e2ba8;background:#f3e8fa;border-radius:999px;align-items:center;gap:4px;padding:1px 2px 1px 8px;font-size:10.5px;font-weight:600;display:inline-flex}.takeoff-item .ai-draft-tag button{color:#8e2ba8;text-transform:none;letter-spacing:0;padding:0 7px;font-size:11px}.checks{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.checks-setup{flex-direction:column;gap:6px;display:flex}.checks-row{gap:6px;display:flex}.checks-row select{flex:1;min-width:0}.checks-setup textarea{resize:vertical;width:100%;font-size:12.5px}.checks-results{border-top:1px solid var(--line);flex-direction:column;flex:1;gap:8px;min-height:0;padding-top:8px;display:flex;overflow:auto}.checks-runbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.checks-runbar select{flex:1;min-width:160px;padding:4px 6px;font-size:12.5px}.checks-tally{gap:4px;display:flex}.check-item{border:1px solid var(--line);border-left:4px solid var(--line-strong);border-radius:var(--radius);background:var(--blueprint-2);padding:8px 10px}.check-item.ok{border-left-color:var(--ok)}.check-item.issue{border-left-color:var(--rust)}.check-item.unclear{border-left-color:var(--amber)}.check-head{align-items:baseline;gap:8px;font-size:13px;display:flex}.check-body{white-space:pre-wrap;color:var(--paper);margin-top:4px;font-size:13px;line-height:1.55}.check-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;flex:none;padding:1px 7px;font-size:10.5px;font-weight:700}.check-badge.ok{color:#2f6b40;background:#e2ece5}.check-badge.issue{color:#8a302a;background:#f6dedc}.check-badge.unclear{color:#8a6d1f;background:#f4edde}.ask{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.ask-scope summary{cursor:pointer;color:var(--muted);font-size:12.5px}.ask-scope summary b{color:var(--paper);font-weight:600}.ask-docs{flex-direction:column;gap:4px;padding:8px 2px 2px;display:flex}.ask-doc{text-transform:none;letter-spacing:0;opacity:1;align-items:center;gap:6px;margin:0;font-size:12.5px;display:flex}.ask-log{flex-direction:column;flex:1;gap:14px;min-height:0;padding:4px 2px;display:flex;overflow:auto}.ask-empty{color:var(--muted);padding:6px 2px;font-size:13px;line-height:1.6}.ask-q{background:var(--brand);max-width:85%;color:var(--on-accent);white-space:pre-wrap;border-radius:12px 12px 4px;align-self:flex-end;width:fit-content;margin-left:auto;padding:8px 12px;font-size:13.5px}.ask-a{background:var(--blueprint);border:1px solid var(--line);white-space:pre-wrap;border-radius:12px 12px 12px 4px;margin-top:8px;padding:10px 12px;font-size:13.5px;line-height:1.6}button.ask-cite{border:1px solid var(--brand);color:var(--brand);background:var(--blueprint-2);vertical-align:1px;white-space:nowrap;border-radius:999px;margin:0 2px;padding:0 6px;font-size:11px;line-height:1.5;display:inline}button.ask-cite:hover:not(:disabled){background:var(--brand);color:var(--on-accent)}.ask-form{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding-top:8px;display:flex}.ask-form textarea{resize:none;width:100%;font-size:13.5px}.ask-actions{justify-content:flex-end;gap:8px;display:flex}.wrap:has(.help-page){max-width:1240px}.help-page{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:36px;display:grid}.help-side{top:calc(var(--header-h,0px) + 16px);max-height:calc(100vh - var(--header-h,0px) - 32px);flex-direction:column;gap:10px;display:flex;position:sticky}.help-search{width:100%}.help-count{color:var(--muted);font-size:12px}.help-nav{padding-right:4px;overflow:auto}.help-nav-group{margin-bottom:14px}.help-nav-title{text-transform:uppercase;letter-spacing:.05em;color:var(--amber-text);margin:0 0 4px 8px;font-size:11px;font-weight:700}button.help-nav-link{text-align:left;border-radius:var(--radius-sm);width:100%;font-size:13.5px;font-family:var(--font-sans);color:var(--paper);background:0 0;border:none;padding:5px 8px;display:block}button.help-nav-link:hover:not(:disabled){background:var(--blueprint-3);color:var(--paper)}button.help-nav-link.active{background:var(--blueprint-3);color:var(--brand);font-weight:600}.help-main{min-width:0;max-width:820px}.help-h1{margin:0 0 6px;font-size:30px}.help-section{border-bottom:1px solid var(--line);margin-bottom:28px;padding-bottom:28px;scroll-margin-top:16px}.help-group{text-transform:uppercase;letter-spacing:.06em;color:var(--amber-text);margin-bottom:6px;font-size:11.5px;font-weight:700}.help-section h2{letter-spacing:-.01em;margin:0 0 12px;font-size:21px}.help-body{font-size:15px;line-height:1.65}.help-body p{margin:0 0 12px}.help-body ul,.help-body ol{margin:0 0 12px;padding-left:22px}.help-body li{margin-bottom:4px}.help-f{font-family:var(--font-mono);background:var(--blueprint-3);color:var(--info);border-radius:4px;padding:1px 5px;font-size:.88em}.help-eq{font-family:var(--font-mono);background:var(--blueprint-2);border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:var(--radius-sm);margin:8px 0;padding:8px 12px;font-size:13.5px}.help-eq-note{font-family:var(--font-sans);color:var(--muted);margin-top:2px;font-size:12.5px;display:block}.help-note{background:var(--amber-tint);border-radius:var(--radius);margin:12px 0;padding:10px 14px;font-size:14px}.help-table-wrap{margin:8px 0 14px;overflow-x:auto}.help-table{border-collapse:collapse;width:100%;font-size:14px}.help-table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);border-bottom:1px solid var(--line-strong);padding:6px 10px;font-size:11.5px;font-weight:600}.help-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:7px 10px}.help-table td:first-child{white-space:nowrap;font-weight:600}.k-red{color:#d7263d;font-weight:600}.k-blue{color:#1e6fd9;font-weight:600}@media (width<=860px){.help-page{grid-template-columns:1fr;gap:16px}.help-side{max-height:none;position:static}.help-nav{border:1px solid var(--line);border-radius:var(--radius);max-height:240px;padding:8px}}.project-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}button.project-tab{text-align:left;background:var(--blueprint-2);border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:var(--radius-lg);color:var(--paper);font-family:var(--font-sans);flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;display:flex}button.project-tab:hover:not(:disabled){border-color:var(--line-strong);border-left-color:var(--amber);color:var(--paper)}button.project-tab.active{border-color:var(--brand);border-left-color:var(--brand);box-shadow:0 0 0 1px var(--brand) inset;background:#f1f6fd}.project-tab-name{align-items:center;gap:8px;font-size:15.5px;font-weight:600;display:flex}.project-tab.active .project-tab-name{color:var(--brand)}.project-tab-count{background:var(--blueprint-3);color:var(--muted);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600}.project-tab-hint{color:var(--muted);font-size:12.5px}@media (width<=600px){.project-tabs{grid-template-columns:1fr}}.summary-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.summary-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 18px;margin-top:16px;font-size:14px;display:grid}.summary-grid label{margin-bottom:2px}.summary-table{width:100%;margin-top:8px}.summary-table td{padding:7px 4px}.proposal-tab-bar{margin-bottom:12px}.proposal-paper{border-radius:var(--radius-lg);background:#e9e7e1;padding:24px 16px;overflow-x:auto}.proposal-paper .proposal{margin:0 auto}.proposal-pane-body{border-radius:var(--radius);background:#e9e7e1;flex:1;min-height:0;padding:12px;overflow:auto}.proposal-pane-body .proposal{max-width:100%;padding:.45in .5in}.line-details.grouped{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:10px;padding:10px 4px;display:grid}.sheet-scroll .detail-row .line-details{max-width:calc(var(--sheet-w,100%) - 48px);position:sticky;left:0}.dg{background:var(--blueprint-2);border:1px solid var(--line);border-top:3px solid var(--line-strong);border-radius:var(--radius);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.dg h4{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);justify-content:space-between;align-items:baseline;gap:8px;margin:0;font-size:12px;font-weight:700;display:flex}.dg-head-total{font-family:var(--font-mono);letter-spacing:0;text-transform:none;color:var(--paper);font-size:15px;font-weight:700}.dg-total .dg-head-total{color:var(--brand)}.dg-qty{border-top-color:var(--info)}.dg-mat{border-top-color:var(--amber)}.dg-sub{border-top-color:#ae3ec9}.dg-labor{border-top-color:var(--ok)}.dg-total{border-top-color:var(--brand)}.dg-inputs{flex-wrap:wrap;align-items:flex-start;gap:8px 12px;display:flex}.dg-field label{margin-bottom:3px}.dg-static{padding:5px 0;font-size:13px;font-weight:600;display:inline-block}.dg-say{font-size:13px;line-height:1.6;font-family:var(--font-sans);margin:0}.dg-say b{font-family:var(--font-mono)}.dg-big{font-size:15px}.dg-kvs{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:4px 12px;font-size:12px;display:grid}.dg-kvs .kv{border-bottom:1px dashed var(--line);padding:2px 0}.dg .cell-err{max-width:none;font-family:var(--font-sans);margin:0;font-size:12px}.detail-math{background:var(--blueprint-2);border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:var(--radius-sm);font-size:12.5px;line-height:1.7;font-family:var(--font-mono);padding:8px 12px}.detail-math b{font-weight:700}.detail-math-title{cursor:pointer;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:11px;font-weight:700}.wrap:has(.docs-window){max-width:none;min-height:100vh;padding:0}.docs-window{flex-direction:column;gap:6px;height:100vh;padding:8px;display:flex}.docs-window-bar{border-radius:var(--radius);color:var(--paper);background:#eaf2fc;flex-wrap:wrap;align-items:baseline;gap:12px;padding:6px 10px;font-size:12.5px;display:flex}.docs-window-bar span{color:var(--muted)}.docs-window-bar.offline{background:#fbeae8}.docs-window-bar.offline span{color:var(--rust)}.docs-window .doc-pane{flex:1;height:auto;min-height:0;position:static}.template-card:hover{border-left-color:var(--line-strong)}.template-card .li-badges{gap:6px}.template-editor{margin-top:14px}.template-editor>.panel{border:none;border-top:1px solid var(--line);border-radius:0;margin-bottom:0;padding:14px 0 0}.template-preview{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.template-preview .sub{flex-basis:100%}.user-menu{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.user-menu .user-org,.user-menu .trial-badge{margin-right:6px}a.nav-btn,button.nav-btn{font-family:var(--font-sans);color:var(--paper);background:var(--blueprint);border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:var(--radius);white-space:nowrap;opacity:1;align-items:center;padding:7px 13px;font-size:13px;font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex}a.nav-btn:hover,button.nav-btn:hover:not(:disabled){color:var(--paper);border-color:var(--line-strong);border-left-color:var(--amber)}a.nav-btn.active{color:var(--brand);border-color:var(--brand);border-left-color:var(--brand);background:#f1f6fd}.user-org{font-family:var(--font-sans);color:var(--muted);font-size:12px}button.link-button{color:var(--paper);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}button.link-button:hover:not(:disabled){color:var(--amber-text)}.auth-card{max-width:420px;margin:20px auto 0;padding:26px 28px}.auth-center{flex:1;justify-content:center;align-items:center;padding:16px 0;display:flex}.auth-center .auth-card{width:100%;margin:0}.auth-logo{width:100%;max-width:360px;height:auto;margin:4px auto 22px;display:block}.auth-card h2{margin-bottom:6px;font-size:19px}.auth-lead{color:var(--muted);margin:0 0 16px;font-size:13.5px}.auth-fields{flex-direction:column;gap:14px;margin:14px 0 16px;display:flex}.auth-fields input{width:100%}.auth-submit{width:100%;padding:10px 14px}.auth-alt{color:var(--muted);margin:14px 0 0;font-size:13px}.auth-alt a{color:var(--brand)}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.form-status{font-family:var(--font-sans);margin:10px 0 0;font-size:12.5px}.panel-subhead{margin:20px 0 10px;font-size:13.5px;font-weight:600}.team-table{width:100%}.team-table td{vertical-align:middle;padding:8px 4px}.muted{color:var(--muted)}.invite-link{background:var(--blueprint-3);border-radius:var(--radius);margin-top:12px;padding:12px;font-size:13px}.invite-link-row{gap:8px;margin-top:8px;display:flex}.invite-link-row input{flex:1;min-width:0}.button-link{font-family:var(--font-sans);border:1px solid var(--line-strong);border-radius:var(--radius);padding:8px 14px;font-size:12.5px;text-decoration:none}.button-link:hover{border-color:var(--brand);color:var(--brand)}.settings-strip{flex-wrap:wrap;gap:10px 16px;margin-bottom:12px;display:flex}.settings-strip input::placeholder{opacity:.45}.bid-table td{padding:2px 3px}.bid-table input[type=text],.bid-table select{padding:4px 5px;font-size:12px}.bid-table td:nth-child(2){background:var(--blueprint-2);z-index:1;position:sticky;left:0}.fit-scroll{overflow:auto}.fit-scroll .table-scroll{overflow:visible}.fit-scroll .est-table thead th{z-index:2;background:var(--blueprint-2);box-shadow:inset 0 -1px 0 var(--line-strong);position:sticky;top:0}.fit-scroll>.panel:last-child,.fit-scroll>.crew-actions:last-child{margin-bottom:0}.sheet-scroll{border-top:1px solid var(--line);overflow:auto}.sheet-scroll .bid-table thead th{z-index:2;background:var(--blueprint-2);box-shadow:inset 0 -1px 0 var(--line-strong);position:sticky;top:0}.sheet-scroll .bid-table thead th:nth-child(2){z-index:3;left:0}.bid-table button.expand{width:30px;height:30px;color:var(--paper);background:var(--blueprint-2);border:1px solid var(--line-strong);border-radius:var(--radius-sm);justify-content:center;align-items:center;padding:0;font-size:13px;line-height:1;transition:transform .12s;display:inline-flex}.bid-table button.expand:hover:not(:disabled){color:var(--brand);border-color:var(--brand)}.bid-table button.expand.open{background:var(--blueprint-3);transform:rotate(90deg)}.detail-row td{background:var(--blueprint-3)}.line-details{flex-direction:column;gap:10px;padding:8px 4px;display:flex}.detail-inputs{flex-wrap:wrap;gap:8px 14px;display:flex}.detail-outputs{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px;font-size:12px;display:grid}.detail-outputs .kv{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--blueprint-2);padding:4px 8px}.detail-outputs .kv b{color:var(--paper)}.kv{border-bottom:1px dashed var(--line);justify-content:space-between;gap:8px;padding:2px 0;display:flex}.kv span{opacity:.6}.kv b{font-family:var(--font-mono);font-weight:500}.subtotal-row td{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);font-family:var(--font-mono)}.subtotal-row .sub-label{opacity:.6;padding-top:8px;font-size:11.5px}.totals-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;display:grid}.totals-grid td:first-child{padding-right:20px}.kv-grid{grid-template-columns:max-content max-content 1fr;align-items:center;gap:8px 14px;display:grid}.kv-grid label{margin:0}.crew-card{padding:12px 16px}.text-list{flex-direction:column;gap:6px;max-width:900px;display:flex}.text-list-row{align-items:flex-start;gap:6px;display:flex}.text-list-row textarea{flex:1;font-size:13px}.text-list select{max-width:520px}.proposal-toolbar{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:12px;display:flex}.proposal-toolbar .back-link{margin:0}.proposal{color:#111;max-width:8.5in;font-family:var(--font-sans);box-shadow:var(--shadow);background:#fff;margin:0 auto;padding:.6in .7in;font-size:12.5px;line-height:1.45}.proposal b{font-weight:600}.prop-logo{width:100%;max-width:6.5in;margin:0 auto 18px;display:block}.prop-head{border-bottom:2px solid #5a1a14;justify-content:space-between;gap:24px;margin-bottom:14px;padding-bottom:10px;display:flex}.prop-head>div:last-child{text-align:right}.prop-section{break-inside:avoid;margin-bottom:12px}.prop-section-head{border-bottom:1px solid #999;justify-content:space-between;padding:3px 0;font-weight:700;display:flex}.prop-line{grid-template-columns:1fr 90px 60px 110px;gap:8px;padding:2px 0 2px 14px;display:grid}.prop-line .q,.prop-line .t{text-align:right;font-variant-numeric:tabular-nums}.prop-total{border-top:2px solid #111;border-bottom:2px solid #111;justify-content:space-between;margin:16px 0;padding:6px 0;font-size:15px;font-weight:700;display:flex}.prop-options{margin-bottom:14px}.prop-block{break-inside:avoid;margin:12px 0}.prop-block ul,.prop-block ol{margin:4px 0 0;padding-left:20px}.prop-block ul.two-col{columns:2;column-gap:28px}.prop-clause{margin:10px 0;font-size:11.5px}.prop-closing{font-style:italic}.prop-madewith{color:#8a8f95;break-inside:avoid;justify-content:center;align-items:center;gap:7px;margin-top:28px;font-size:12px;display:flex}.prop-madewith img{width:auto;height:16px}.prop-madewith b{font-weight:700}.madewith-advanta{color:#6b7076}.madewith-bid{color:#1e6fd9}@media print{@page{size:letter;margin:.5in}body.printing-proposal{background:#fff!important}body.printing-proposal .no-print{display:none!important}body.printing-proposal .wrap{max-width:none;padding:0}body.printing-proposal .proposal{box-shadow:none;max-width:none;padding:0}}.brand-bid{color:var(--brand)}.brand{align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand-mark{width:auto;height:30px;display:block}@media (width<=600px){.brand-mark{height:24px}.brand{gap:8px}}.not-found{text-align:center;background:var(--blueprint-2);border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:var(--radius-lg);max-width:560px;margin:48px auto 64px;padding:36px 32px}.not-found-code{letter-spacing:-.02em;color:var(--brand);margin-bottom:12px;font-size:64px;font-weight:700;line-height:1}.not-found h1{margin:0 0 8px;font-size:22px}.not-found .sub{max-width:420px;margin:0 auto 12px}.not-found-path{opacity:.6;word-break:break-all;margin:0 0 20px;font-size:12px}.not-found-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.not-found-actions .button-link.primary{background:var(--brand);border-color:var(--brand);color:#fff}.not-found-actions .button-link.primary:hover{color:#fff;filter:brightness(1.08)}.tg-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.tg-equip{border-top-color:#0c8599}.tg-other{border-top-color:var(--line-strong)}.tg-pct{color:var(--muted);margin-left:8px;font-size:11px;font-weight:500}.tg-table{width:100%}.tg-table td{padding:4px 0;font-size:12.5px}.tg-table td.num{white-space:nowrap;padding-left:12px}.tg-note{color:var(--muted);font-size:11px}.tg-summary{border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:var(--radius);background:#f1f6fd;flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:8px 28px;margin-top:14px;padding:12px 14px;font-size:13px;display:flex}.tg-summary b{font-family:var(--font-mono);margin-left:6px}.tg-grand{font-size:16px;font-weight:600}.tg-grand b{color:var(--brand)}.takeoff-add-line{white-space:nowrap;padding:4px 8px;font-size:12px}.ask-bid{border-top:1px dashed var(--line);align-items:flex-start;margin-top:6px;padding-top:8px}.takeoff-readout text{font-family:var(--font-sans);font-variant-numeric:tabular-nums}.billing h2{margin-top:0}.bill-top{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px;display:grid}.bill-top .panel{margin-bottom:20px}.bill-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:8px;font-size:12px;font-weight:700}.bill-plan{border-left:3px solid var(--brand)}.bill-plan-name{flex-wrap:wrap;align-items:center;gap:10px;font-size:22px;font-weight:600;display:flex}.bill-plan-price{letter-spacing:-.01em;margin:4px 0 10px;font-size:28px;font-weight:700}.bill-plan-price span{color:var(--muted);font-size:14px;font-weight:400}.bill-plan-incl,.bill-plan-card ul{color:var(--muted);margin:0;padding-left:18px;font-size:14px;line-height:1.7}.bill-plan-incl b,.bill-plan-card b{color:var(--paper)}.bill-status{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-sm);background:var(--ok-tint);color:var(--ok);padding:3px 8px;font-size:11px;font-weight:600}.bill-status.trial{color:var(--brand);background:#eaf1fc}.bill-status.past_due,.bill-status.canceled{color:var(--rust);background:#f8e4e2}.bill-lines{border-collapse:collapse;width:100%;font-size:14px}.bill-lines td{border-bottom:1px solid var(--line);padding:7px 0}.bill-lines td.num{text-align:right;font-family:var(--font-mono);white-space:nowrap;padding-left:12px}.bill-lines tr.muted td{color:var(--muted)}.bill-total td{border-bottom:none;padding-top:10px;font-size:16px;font-weight:700}.bill-total td.num{color:var(--brand)}.bill-fine{color:var(--muted);margin:12px 0 0;font-size:12.5px;line-height:1.5}.bill-meters{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px 28px;display:grid}.bill-meter-head{justify-content:space-between;gap:10px;margin-bottom:6px;font-size:14px;display:flex}.bill-meter-num{font-family:var(--font-mono);color:var(--muted);font-size:13px}.bill-meter-num b{color:var(--paper);font-size:15px}.bill-meter-bar{background:var(--line);border-radius:999px;height:8px;overflow:hidden}.bill-meter-bar span{background:var(--brand);border-radius:999px;height:100%;transition:width .3s;display:block}.bill-meter.near .bill-meter-bar span{background:var(--amber)}.bill-meter.over .bill-meter-bar span{background:var(--rust)}.bill-meter.over .bill-meter-num b{color:var(--rust)}.bill-meter-note{color:var(--muted);margin-top:6px;font-size:12px}.bill-plans{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.bill-plan-card{border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--blueprint-2);flex-direction:column;gap:4px;padding:16px 18px;display:flex}.bill-plan-card h3{text-transform:uppercase;letter-spacing:.05em;color:var(--amber-text);margin:0;font-size:13px}.bill-plan-card .bill-plan-price{margin:2px 0 6px;font-size:22px}.bill-plan-card ul{flex:1;margin-bottom:12px}.bill-plan-card.current{border-color:var(--brand);border-left-color:var(--brand);box-shadow:0 0 0 1px var(--brand) inset;background:#f1f6fd}.bill-plan-tag{text-align:center;color:var(--brand);padding:8px 0;font-size:12.5px;font-weight:600}@media (width<=760px){.bill-top,.bill-plans{grid-template-columns:1fr}}.bill-checkout{border-left:3px solid var(--brand)}.bill-checkout-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.bill-checkout-head h2{margin:0}#checkout-form{max-width:560px}.bill-thanks{border-left-color:var(--ok);background:var(--ok-tint);margin:0 0 18px}.bill-buy{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;font-size:13px;display:flex}.bill-buy input{text-align:right;width:64px}.bill-trial{border-radius:var(--radius);color:var(--brand);background:#eaf1fc;margin:-2px 0 10px;padding:7px 10px;font-size:13.5px}.bill-trial.soon{color:var(--amber-text);background:#fbf3dd}.bill-trial.ended{color:var(--rust);background:#f8e4e2}.trial-badge{font-family:var(--font-sans);color:var(--brand);white-space:nowrap;background:#eaf1fc;border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:600;text-decoration:none}.trial-badge:hover{filter:brightness(.96)}.trial-badge.soon{color:var(--amber-text);background:#fbf3dd}.trial-badge.ended{color:var(--rust);background:#f8e4e2}.account-menu{position:relative}.account-btn{gap:7px}.account-avatar{background:var(--brand);color:#fff;letter-spacing:.02em;border-radius:50%;place-items:center;width:20px;height:20px;font-size:10px;font-weight:700;display:inline-grid}.account-caret{opacity:.6;margin-left:1px;font-size:10px}.account-dropdown{z-index:50;background:var(--blueprint-2);border:1px solid var(--line-strong);border-radius:var(--radius-lg);flex-direction:column;min-width:240px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 28px #0f172a24}.account-who{border-bottom:1px solid var(--line);flex-direction:column;gap:2px;margin-bottom:4px;padding:8px 10px 10px;font-size:13px;display:flex}.account-who span{color:var(--muted);word-break:break-all;font-size:12.5px}.account-who .account-role{font-size:11.5px}a.account-item,button.account-item{text-align:left;border-radius:var(--radius);width:100%;color:var(--paper);font-size:13px;font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;border-left:3px solid #0000;padding:8px 10px;text-decoration:none;display:block}a.account-item:hover,button.account-item:hover:not(:disabled){border-left-color:var(--amber);color:var(--paper);background:#f1f6fd}button.account-item.danger:hover:not(:disabled){color:var(--rust)}.account-details{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 24px;margin:4px 0 18px;display:grid}.account-details dt{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:3px;font-size:11.5px;font-weight:600}.account-details dd{word-break:break-word;margin:0;font-size:14.5px}.account-company{margin-top:0}.account-password{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:12px;margin-top:18px;padding-top:16px;display:flex}.account-dots{letter-spacing:.12em;color:var(--muted);padding-top:2px;font-size:15px}.account-company-view{align-items:center;gap:6px;min-height:34px;font-size:14.5px;display:flex}.account-company-edit{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.account-company-edit input{flex:1;min-width:200px}button.icon-btn{opacity:.6;place-items:center;padding:5px;display:inline-grid}button.icon-btn:hover:not(:disabled){opacity:1;color:var(--brand)}.wrap:has(.console){max-width:none;padding-left:28px;padding-right:28px}.console-stats{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-bottom:18px;display:grid}.console-stat{background:var(--blueprint-2);border:1px solid var(--line-strong);border-radius:var(--radius);padding:10px 12px}.console-stat .n{font-family:var(--font-mono);font-size:20px;font-weight:700;display:block}.console-stat .l{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:11px}.console-stat.warn .n{color:var(--rust)}.console-filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.console-filters input[type=search]{flex:1;min-width:220px;max-width:420px}.console-layout{grid-template-columns:1fr;align-items:start;display:grid}.console-layout.with-detail{grid-template-columns:minmax(0, var(--split,62%)) 12px minmax(0, 1fr)}.console-layout .split-handle{outline-offset:-2px;min-height:200px}.console-layout .split-handle:focus-visible:after{background:var(--brand)}@media (width<=1100px){.console-layout.with-detail{grid-template-columns:1fr}.console-layout .split-handle{display:none}.console-detail{position:static}}.console-list{padding:8px 12px}.console-table td{vertical-align:middle;white-space:nowrap;padding:8px 10px}.console-table th{padding-left:10px;padding-right:10px}.console-table td.num{padding-top:8px}.console-table tbody tr{cursor:pointer}.console-table tbody tr:hover td{background:var(--blueprint)}.console-table tbody tr.selected td{background:color-mix(in srgb, var(--brand) 8%, transparent)}.console-table tbody tr.selected td:first-child{box-shadow:inset 3px 0 0 var(--brand)}.console-owner{color:var(--muted);margin-top:2px;font-size:12px}.console-badges{flex-wrap:wrap;align-items:center;gap:5px;display:inline-flex}.console-trial{color:var(--muted);font-size:12px;font-family:var(--font-mono)}.console-trial.soon{color:var(--warning)}.console-trial.ended{color:var(--rust)}.badge-plan-trial{color:var(--info);border-color:var(--info)}.badge-plan-active{color:var(--on-accent);background:var(--ok)}.badge-plan-past_due{color:var(--on-accent);background:var(--rust)}.badge-plan-canceled{color:var(--paper);opacity:.55;border-color:var(--line-strong)}.badge-suspended{color:var(--on-accent);background:var(--paper)}.badge-superadmin{color:var(--ink);background:var(--amber)}.console-detail{top:calc(var(--header-h,0px) + 12px);position:sticky}.console-detail-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.console-plan{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.console-plan label{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.console-plan input{width:130px}.console-usage{flex-wrap:wrap;gap:8px 20px;font-size:13.5px;display:flex}.console-row-actions{white-space:nowrap;text-align:right}.console-row-actions button{margin-left:4px;padding:5px 9px;font-size:12px}.console-projects{margin:0;padding:0;font-size:13.5px;list-style:none}.console-projects li{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:5px 0;display:flex}.console-suspend{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.console-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.console-invite-btn{align-items:center;gap:8px;padding:10px 18px;font-size:14px;display:inline-flex}.console-invite-btn svg{width:16px;height:16px}.bid-tab.active .chip-n{background:var(--blueprint-2);color:var(--brand)}dialog.modal.invite-dialog{width:min(900px,100vw - 32px);padding:24px 26px 20px}.invite-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:26px;display:grid}@media (width<=760px){.invite-grid{grid-template-columns:1fr}}.invite-dialog textarea,.invite-dialog select{width:100%}.invite-row{grid-template-columns:1fr 1fr;gap:0 12px;display:grid}@media (width<=480px){.invite-row{grid-template-columns:1fr}}.optional{text-transform:none;letter-spacing:0;color:var(--muted);margin-left:4px;font-size:11px}.invite-warn{color:var(--warning);background:color-mix(in srgb, var(--warning) 10%, transparent);border-radius:var(--radius);margin:14px 0 0;padding:8px 10px;font-size:12.5px}.invite-preview{background:var(--blueprint);border:1px solid var(--line);border-radius:var(--radius-lg);padding:12px 14px 16px;position:sticky;top:0}.invite-preview-meta{color:var(--muted);border-bottom:1px solid var(--line);overflow-wrap:anywhere;flex-direction:column;gap:3px;margin-bottom:12px;padding:0 2px 10px;font-size:12px;display:flex}.invite-preview-meta b{color:var(--paper);margin-right:4px;font-weight:600}.invite-preview-card{background:var(--blueprint-2);border:1px solid var(--line);border-radius:12px;padding:20px 20px 16px;font-size:13px;line-height:1.55}.invite-preview-card img{width:150px;max-width:100%;margin:0 auto 16px;display:block}.invite-preview-card h3{margin:0 0 10px;font-size:16px}.invite-preview-card p{overflow-wrap:anywhere;margin:0 0 10px}.invite-preview-card blockquote{background:var(--blueprint);border-left:3px solid var(--amber);white-space:pre-line;overflow-wrap:anywhere;border-radius:4px;margin:2px 0 12px;padding:9px 12px;font-style:italic}.invite-preview-card blockquote span{color:var(--muted);margin-top:6px;font-size:12px;font-style:normal;display:block}.invite-preview-button{background:var(--brand);color:var(--on-accent);border-radius:7px;margin:4px 0 12px;padding:8px 16px;font-weight:600;display:inline-block}.invite-preview-note{color:var(--muted);font-size:11.5px;margin:0!important}.invite-sent{text-align:center;max-width:520px;margin:0 auto}.invite-sent .modal-message{margin-bottom:14px}.invite-sent .modal-actions{justify-content:center}.invite-sent-icon{background:color-mix(in srgb, var(--brand) 12%, transparent);width:52px;height:52px;color:var(--brand);border-radius:50%;place-items:center;margin:4px auto 12px;font-size:24px;display:grid}.invite-link{gap:8px;display:flex}.invite-link input{min-width:0;font-family:var(--font-mono);flex:1;font-size:12px}.invite-link button{white-space:nowrap}.invite-empty{text-align:center;padding:36px 24px}.invite-empty .sub{max-width:460px;margin:0 auto 16px}.invite-table tbody tr.no-hover{cursor:default}.invite-table td{vertical-align:top}.invite-msg{text-overflow:ellipsis;max-width:320px;font-style:italic;overflow:hidden}.invite-status.pending{color:var(--info);border-color:var(--info)}.invite-status.joined{color:var(--on-accent);background:var(--ok)}.invite-status.expired{color:var(--muted);border-color:var(--line-strong)}button.linklike{color:var(--brand);font-weight:600;font-size:inherit;background:0 0;border:0;padding:0}button.linklike:hover:not(:disabled){text-decoration:underline}html select:not([multiple]){appearance:none;text-overflow:ellipsis;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236B7076' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;background-size:10px 7px;padding-right:26px}@media (pointer:coarse){html select,html textarea,html input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=range]):not([type=file]){font-size:16px!important}html select:not([multiple]){min-height:40px}}dialog.touch-picker{background:0 0;border:0;width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0;inset:0}dialog.touch-picker::backdrop{background:0 0}.touch-picker-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--blueprint-2);color:var(--paper);border:1px solid var(--line-strong);border-radius:var(--radius);margin:0;padding:4px 0;list-style:none;position:fixed;overflow-y:auto;box-shadow:0 8px 24px #1f23282e}.touch-picker-option{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:8px 12px;font-size:16px;line-height:1.3;display:flex}.touch-picker-option:active{background:var(--blueprint)}.touch-picker-option.selected{background:color-mix(in srgb, var(--brand) 9%, transparent);color:var(--brand);font-weight:600}.touch-picker-option.disabled{opacity:.4;cursor:default}.touch-picker-check{color:var(--brand)}.touch-picker-group{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:8px 12px 2px;font-size:11.5px}.project-list .pl-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin:20px 0 16px;display:flex}.project-list .pl-head h1{margin:0 0 2px}.pl-summary{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-bottom:18px;display:grid}.pl-stat{background:var(--blueprint-2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:12px 16px}.pl-stat-n{letter-spacing:-.01em;margin-top:2px;font-size:24px;font-weight:600;line-height:1.2}.pl-stat-note{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;overflow:hidden}.pl-filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.pl-filters .pl-search{flex:260px;min-width:0}.pl-sort[hidden]{display:none}.pl-sort{color:var(--muted);text-transform:none;letter-spacing:0;opacity:1;align-items:center;gap:6px;margin:0;font-size:12px;display:inline-flex}.pl-chips{flex-wrap:wrap;flex-basis:100%;gap:6px;display:flex}.chip-n{background:var(--blueprint-3);min-width:18px;color:var(--muted);text-align:center;border-radius:9px;margin-left:4px;padding:0 5px;font-size:10.5px;font-weight:600;display:inline-block}.chip.active .chip-n{background:var(--blueprint-2);color:var(--amber-text)}.project-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.project-tile{--stripe:var(--line-strong);background:var(--blueprint-2);border:1px solid var(--line);border-top:3px solid var(--stripe);border-radius:var(--radius-lg);min-width:0;color:var(--paper);flex-direction:column;gap:4px;padding:12px 16px;text-decoration:none;transition:box-shadow .15s,border-color .15s,transform .15s;display:flex;position:relative}.project-tile:hover{box-shadow:var(--shadow);border-color:var(--line-strong);border-top-color:var(--stripe);transform:translateY(-1px)}.project-tile:focus-visible{box-shadow:0 0 0 3px var(--focus-ring);outline:none}.project-tile.status-bidding{--stripe:var(--amber)}.project-tile.status-submitted{--stripe:var(--info)}.project-tile.status-awarded{--stripe:var(--ok)}.project-tile.status-lost{--stripe:var(--rust)}.project-tile.status-archived{opacity:.7}.pt-top{justify-content:space-between;align-items:center;gap:8px;min-height:20px;display:flex}.pt-number{color:var(--muted);font-size:12px}.pt-name{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin-top:2px;font-size:16px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.pt-client{font-size:13px;font-weight:500}.pt-line{color:var(--muted);align-items:flex-start;gap:6px;min-width:0;font-size:12.5px;display:flex}.pt-line>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pt-icon{flex:none;margin-top:2px}.pt-none{color:var(--muted);font-style:italic;font-weight:400}.pt-money{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:12px;margin-top:10px;padding-top:10px;display:flex}.pt-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:10.5px;font-weight:500}.pt-total{letter-spacing:-.02em;font-size:22px;font-weight:600;line-height:1.25}.pt-total.pt-none{font-size:14px;font-family:var(--font-sans);line-height:1.9}.pt-options{text-align:right;font-size:13px}.pt-bidmeta{color:var(--muted);font-size:12px}.pt-errors{color:var(--rust)}.pt-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:4px 14px;margin-top:auto;padding-top:10px;display:flex}.pt-money+.pt-foot,.pt-bidmeta+.pt-foot{margin-top:10px}.pt-foot .pt-line{font-size:12px}.pt-due.soon{color:var(--amber-text);font-weight:600}.pt-due.late{color:var(--rust)}.pt-updated{color:var(--muted);text-align:right;margin-top:6px;font-size:11.5px}@media (width<=520px){.project-grid{grid-template-columns:1fr}.pl-summary{grid-template-columns:1fr 1fr}}.schedule{--sched-off:#1f23280e;--sched-left-w:590px}.sched-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:10px;padding:14px 18px;display:flex}.sched-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.sched-control{color:var(--muted);text-transform:none;letter-spacing:0;opacity:1;align-items:center;gap:6px;margin:0;font-size:12px;display:inline-flex}.sched-zoom{gap:4px;display:flex}.sched-hint{max-width:none;margin:0 0 10px;font-size:12.5px}.sched-table{border-collapse:separate;border-spacing:0;background:var(--blueprint-2);border:1px solid var(--line);border-radius:var(--radius)}.sched-table th,.sched-table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:0}.sched-table thead th{z-index:3;background:var(--blueprint-2);border-bottom:1px solid var(--line-strong);position:sticky;top:0}.sched-table .sched-left{z-index:2;background:var(--blueprint-2);border-right:1px solid var(--line-strong);position:sticky;left:0}.sched-table thead .sched-left{z-index:4}.sched-info{width:var(--sched-left-w);grid-template-columns:minmax(0,1fr) 70px 136px 64px 30px;align-items:center;gap:8px;padding:3px 8px 3px 12px;font-size:12.5px;display:grid}.sched-info .num{text-align:right}.sched-info input[type=date]{width:100%;padding:3px 5px;font-size:12px}.sched-info-head{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);text-align:left;height:44px;font-size:10.5px;font-weight:500}.sched-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sched-sec td,.sched-sec .sched-left{background:var(--blueprint-3)}.sched-sec .sched-info{min-height:30px;font-weight:600}.sched-line:hover td,.sched-line:hover .sched-left{background:#fbfaf7}.sched-finish{color:var(--muted)}.sched-after{padding:2px 6px;font-size:13px}.sched-scale{height:44px;position:relative;overflow:hidden}.sched-months span,.sched-ticks span{white-space:nowrap;position:absolute}.sched-months span{border-left:1px solid var(--line-strong);height:40px;padding-left:5px;font-size:11.5px;font-weight:600;top:4px}.sched-ticks span{color:var(--muted);text-align:center;font-size:10.5px;top:24px}.sched-ticks span.off{color:#b5b0a6}.sched-track{height:32px;position:relative}.sched-track.unscheduled{cursor:copy}.sched-bar{background:var(--brand);cursor:grab;touch-action:none;border-radius:4px;justify-content:center;align-items:center;height:18px;display:flex;position:absolute;top:7px;box-shadow:inset 0 -1px #00000026}.sched-bar:hover{background:var(--brand-hover)}.sched-bar.dragging{cursor:grabbing;opacity:.8;box-shadow:0 2px 8px #1f232840}.sched-bar-text{color:#fff;pointer-events:none;font-size:10.5px;font-weight:600}.sched-bar.sched-sum{cursor:default;height:8px;box-shadow:none;background:#5c6168;top:12px}.sched-milestone{background:var(--amber);cursor:grab;touch-action:none;width:12px;height:12px;margin-left:-6px;position:absolute;top:10px;transform:rotate(45deg)}.sched-today{border-left:2px solid var(--rust);opacity:.55;pointer-events:none;width:0;position:absolute;top:0;bottom:0}@media (width<=760px){.schedule{--sched-left-w:330px}.sched-info{grid-template-columns:minmax(0,1fr) 0 120px 0 26px;gap:4px}.sched-info>:nth-child(2),.sched-info>:nth-child(4){visibility:hidden}}.ps-timeline{flex-direction:column;gap:6px;display:flex}.ps-axis{color:var(--muted);justify-content:space-between;margin-left:172px;margin-right:112px;font-size:11px;display:flex}.ps-row{grid-template-columns:160px minmax(0,1fr) 100px;align-items:center;gap:12px;font-size:12.5px;display:grid}.ps-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.ps-track{background:var(--blueprint-3);border-radius:7px;height:14px;position:relative}.ps-bar{background:var(--brand);border-radius:7px;min-width:4px;position:absolute;top:0;bottom:0}.ps-today{border-left:2px solid var(--rust);width:0;position:absolute;top:-3px;bottom:-3px}.ps-dates{color:var(--muted);white-space:nowrap;text-align:right;font-size:11.5px}@media (width<=600px){.ps-row{grid-template-columns:100px minmax(0,1fr)}.ps-dates{display:none}.ps-axis{margin-left:112px;margin-right:0}}.pl-view{background:var(--blueprint-3);border:1px solid var(--line-strong);border-radius:calc(var(--radius) + 3px);gap:3px;padding:3px;display:inline-flex}.pl-view button{border-radius:var(--radius);color:var(--muted);font:600 13px var(--font-sans);letter-spacing:0;text-transform:none;cursor:pointer;box-shadow:none;background:0 0;border:0;align-items:center;gap:7px;margin:0;padding:7px 14px;display:inline-flex}.pl-view button:hover{color:var(--paper);background:#1f23280d}.pl-view button.active{background:var(--brand);color:var(--on-accent);box-shadow:0 1px 2px #1f232826}.pl-view button svg{fill:currentColor;width:15px;height:15px}.psch{border-top:1px solid var(--line);flex-direction:column;display:flex}.psch-row{border-bottom:1px solid var(--line);grid-template-columns:240px minmax(0,1fr) 130px;align-items:center;gap:14px;padding:7px 4px;display:grid}.psch-head{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:6px 4px;font-size:10.5px;font-weight:500}.psch-line{cursor:pointer;border-radius:var(--radius-sm)}.psch-line:hover{background:var(--blueprint-3)}.psch-line:focus-visible{box-shadow:0 0 0 3px var(--focus-ring);outline:none}.psch-name{flex-direction:column;gap:3px;min-width:0;display:flex}.psch-title{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.psch-sub{color:var(--muted);text-transform:none;letter-spacing:0;align-items:center;gap:8px;font-size:11.5px;font-weight:400;display:flex}.psch-sub .badge{padding:1px 6px;font-size:9.5px}.psch-track{height:18px;position:relative}.psch-months{height:16px}.psch-months span{border-left:1px solid var(--line-strong);white-space:nowrap;padding-left:4px;line-height:16px;position:absolute;top:0}.psch-grid{border-left:1px dashed var(--line);position:absolute;top:-8px;bottom:-8px}.psch-bar{--bar:#8c9096;background:var(--bar);border-radius:7px;min-width:5px;position:absolute;top:2px;bottom:2px}.psch-bar.status-bidding{--bar:var(--amber)}.psch-bar.status-submitted{--bar:var(--info)}.psch-bar.status-awarded{--bar:var(--ok)}.psch-bar.status-lost{--bar:var(--rust);opacity:.6}.psch-bar.status-archived{opacity:.45}.psch-line.now .psch-bar{box-shadow:0 0 0 2px var(--blueprint-2), 0 0 0 3px var(--bar)}.psch-today{border-left:2px solid var(--rust);opacity:.6;pointer-events:none;width:0;position:absolute;top:-8px;bottom:-8px}.psch-months .psch-today{opacity:1;height:16px;top:0;bottom:auto}.psch-months .psch-today b{color:var(--rust);background:var(--blueprint-2);padding:0 3px;font-size:9.5px;line-height:16px;position:absolute;top:0;left:3px}.psch-dates{text-align:right;white-space:nowrap;flex-direction:column;gap:2px;font-size:12px;display:flex}.psch-dates .psch-sub{justify-content:flex-end}.psch-unscheduled{color:var(--muted);margin-top:12px;font-size:12.5px}.psch-unscheduled p{margin:4px 0}@media (width<=760px){.psch-row{grid-template-columns:130px minmax(0,1fr)}.psch-dates{display:none}}
