:root{--ink:#14201c;--muted:#65716c;--paper:#f4f5f1;--card:#fff;--green:#174f3b;--lime:#dbe86d;--line:#dde2dc;--warn:#fff2ce}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif;display:grid;grid-template-columns:230px 1fr;min-height:100vh}aside{background:#0e271e;color:#fff;padding:28px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;font-weight:700}.brand span{display:grid;place-items:center;width:42px;height:42px;background:var(--lime);color:#173024;border-radius:12px}.brand div{line-height:1.05}nav{display:grid;gap:8px;margin-top:48px}button{font:inherit;cursor:pointer;border:0}nav button{text-align:left;padding:12px;border-radius:9px;background:transparent;color:#cbd8d2}nav button.active,nav button:hover{background:#1c3b2f;color:#fff}.security{margin-top:auto;color:#b6c8c0;line-height:1.4}.security small{color:#7f978c}main{padding:42px;max-width:1320px;width:100%;margin:auto}header,.section-head,.result-top{display:flex;justify-content:space-between;align-items:flex-start}h1{font-size:42px;margin:5px 0 28px;letter-spacing:-1.6px}h2{margin:3px 0 8px;font-size:22px}.eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:800;color:#597066;margin:0}.status{background:#e8eee9;padding:10px 14px;border-radius:99px;font-size:13px}.status i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2da66d;margin-right:7px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 8px 30px rgba(20,32,28,.035)}.project-grid,.measure-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.measure-grid{grid-template-columns:repeat(5,1fr)}label{font-size:12px;font-weight:700;color:#55645e;display:grid;gap:7px}input,select,textarea{width:100%;border:1px solid #cfd7d1;border-radius:9px;padding:11px 12px;background:#fff;color:var(--ink);font:inherit}input:focus,select:focus,textarea:focus{outline:2px solid #8cb9a6;border-color:transparent}.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.drop{min-height:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1.5px dashed #a8b7af;text-align:center;gap:7px;position:relative}.drop.drag{background:#edf7f1;border-color:var(--green)}.drop span{font-size:13px;color:var(--muted)}.drop input{position:absolute;inset:0;opacity:0;cursor:pointer}.file-list{display:flex;gap:8px;flex-wrap:wrap;margin:-4px 0 16px}.file-list span,.pill{font-size:12px;background:#e9eeea;border-radius:99px;padding:7px 10px}.scope-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}.scope{display:flex;gap:10px;align-items:center;border:1px solid var(--line);padding:12px;border-radius:10px;font-size:13px;font-weight:650}.scope input{width:auto}.link{background:transparent;color:var(--green);font-weight:700}.notes-card,.settings-card,.measurement{margin-top:16px}.notes-card textarea{min-height:110px;margin-top:14px;resize:vertical}.settings-card{display:flex;align-items:center;justify-content:space-between}.settings-card p{font-size:13px;color:var(--muted);margin:0}.upload-small{background:#eef3ef;padding:12px 16px;border-radius:9px;display:block;position:relative}.upload-small input{position:absolute;inset:0;opacity:0}.measure-grid{margin-top:18px}.primary{width:100%;margin:20px 0;background:var(--green);color:white;padding:16px;border-radius:11px;font-weight:800;font-size:16px}.primary:hover{background:#0e3d2b}.results{background:white;border-radius:18px;padding:28px;margin-top:4px}.hidden{display:none}.total{text-align:right}.total span,.total small{display:block;color:var(--muted);font-size:12px}.total strong{display:block;font-size:32px;margin:4px 0}.warnings{display:grid;gap:8px;margin:18px 0}.warning{background:var(--warn);padding:11px 13px;border-radius:8px;font-size:13px}.toolbar{display:flex;gap:8px;justify-content:flex-end}.toolbar button{background:#eaf0ec;padding:9px 12px;border-radius:8px}.trade{margin-top:24px}.trade h3{border-bottom:2px solid var(--ink);padding-bottom:8px}.trade-total{float:right}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:#65716c;background:#f3f5f2}th,td{padding:9px;border-bottom:1px solid #e4e8e4}td.num,th.num{text-align:right}.confidence{font-size:10px;border-radius:99px;padding:3px 6px;background:#e7f1e9}@media(max-width:900px){body{display:block}aside{height:auto;position:static;display:block}nav{display:flex;margin-top:18px}.security{display:none}main{padding:20px}.project-grid,.measure-grid,.scope-grid{grid-template-columns:repeat(2,1fr)}.upload-grid{grid-template-columns:1fr}h1{font-size:34px}}@media print{aside,.upload-grid,.file-list,.project-grid,.notes-card,.settings-card,.measurement,.primary,.toolbar,header{display:none!important}body{display:block;background:white}.results{display:block!important;padding:0}.warning{border:1px solid #d6bc64}main{padding:0}.trade{break-inside:avoid}}
/* BidPouch beta brand */
:root{--ink:#1a2536;--muted:#657184;--paper:#f4f5f7;--card:#fff;--green:#0052cc;--lime:#ff6b00;--line:#dce2e8;--warn:#fff0df}
.brand img{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.18))}.brand b{display:block;font-size:20px;letter-spacing:-.4px}.brand small{display:block;color:#bdc9d8;font-size:10px;letter-spacing:.5px;margin-top:3px}.brand.dark small{color:#657184}aside{background:linear-gradient(180deg,#1a2536,#101824)}nav button.active,nav button:hover{background:#263c59}.primary{background:linear-gradient(135deg,#ff6b00,#e25300)}.primary:hover{background:#cc4a00}.eyebrow{color:#0052cc}.status{background:#e7f0ff}.status i{background:#ff6b00}.brand.dark{color:#1a2536}
.import-project{display:inline-flex!important;width:auto!important;border:1px solid #cbd5e1;border-radius:8px;padding:7px 12px;background:#fff;cursor:pointer;font-size:13px;font-weight:700}.import-project input{display:none}.saved-project{width:100%;display:flex;justify-content:space-between;gap:20px;text-align:left;padding:14px;margin:8px 0;border:1px solid #dce3ed;border-radius:10px;background:#fff;color:#1a2536}.saved-project:hover{border-color:#0052cc}.saved-project small{color:#64748b;font-weight:500}
.app-toast{position:fixed;right:24px;bottom:24px;z-index:50;background:#1a2536;color:#fff;padding:14px 18px;border-radius:10px;box-shadow:0 14px 35px #1a253633;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s}.app-toast.show{opacity:1;transform:none}.app-toast.error{background:#9f2d20}
.scope span small{display:block;margin-top:3px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#718096}.scope.audited span small{color:#18794e}.scope.pending-audit{border-style:dashed}
.roof-inputs{margin-top:24px;border-top:1px solid #dfe5ec;padding-top:18px}.roof-inputs summary{cursor:pointer;font-weight:900;color:#0052cc}.roof-inputs>p{color:#64748b;font-size:13px}
.warning.critical{border-left-color:#b42318;background:#fff1f0}.review-gate{display:grid;grid-template-columns:.8fr 1.2fr;gap:26px;background:#f4f7fb;border:1px solid #dce3ed;border-radius:14px;padding:22px;margin:18px 0}.review-gate h3{margin:4px 0}.review-gate p{color:#64748b}.review-checks{display:grid;gap:10px}.review-checks label{display:flex;gap:9px;align-items:flex-start;font-size:13px}.review-checks input{width:auto}.review-checks button{margin-top:6px}.review-checks button.ready{background:#18794e;color:#fff}@media(max-width:760px){.review-gate{grid-template-columns:1fr}}
.estimate-meta{margin:16px 0;padding:16px;border:1px solid #dce3ed;border-radius:12px}.print-brand{display:none}.estimate-meta dl{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0}.estimate-meta dl div{background:#f6f8fb;padding:9px;border-radius:8px}.estimate-meta dt{font-size:9px;text-transform:uppercase;letter-spacing:.7px;color:#64748b;font-weight:800}.estimate-meta dd{margin:3px 0 0;font-size:12px;font-weight:700}@media(max-width:760px){.estimate-meta dl{grid-template-columns:1fr 1fr}}@media print{@page{margin:.45in}.review-gate{display:none!important}.estimate-meta{border:0;border-bottom:2px solid #1a2536;border-radius:0;padding:0 0 12px}.print-brand{display:flex;justify-content:space-between;align-items:end;margin-bottom:14px}.print-brand b{font-size:25px}.print-brand b span{color:#ff6b00}.print-brand small{color:#657184}.estimate-meta dl{grid-template-columns:repeat(3,1fr)}.estimate-meta dl div{padding:5px;background:#fff}thead{display:table-header-group}.trade{break-inside:auto}.trade h3{break-after:avoid}tr{break-inside:avoid}.legal-disclaimer{font-size:8px;line-height:1.35;color:#5f6875}.warning{break-inside:avoid}}
.availability{font-size:10px;color:#657184}.availability.needs-action{color:#9a3412;font-weight:800}
.jurisdiction-status{margin:-8px 0 16px;padding:10px 14px;border:1px solid #f1c27d;border-radius:12px;background:#fff8e8;color:#70430b;font-size:12px;line-height:1.45}.jurisdiction-status strong{display:block;color:#1a2536}.jurisdiction-status a{color:#0052cc;font-weight:700}
body{grid-template-columns:280px 1fr}.brand-lockup{position:relative;width:260px;height:142px;margin:-10px -10px 2px}.brand-lockup>img{position:absolute;inset:0;width:270px;height:135px;object-fit:contain;filter:drop-shadow(0 6px 12px rgba(0,0,0,.22))}.brand-lockup-copy{position:absolute;z-index:2;left:100px;top:66px;width:150px;text-align:center;color:#fff;line-height:1}.brand-lockup-copy b{display:block;font-size:25px;letter-spacing:-1px}.brand-lockup-copy b span{color:#ff6b00}.brand-lockup-copy small{display:block;margin-top:5px;color:#d8e5f4;font-size:10px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}.line-reference{display:block;width:max-content;margin:0 0 5px;padding:3px 6px;border-radius:5px;background:#e7f0ff;color:#0052cc;font-size:9px;font-weight:900;letter-spacing:.5px}@media(max-width:900px){body{display:block}.brand-lockup{margin:0 auto}}@media print{.line-reference{border:1px solid #b8c8df;background:#fff;color:#1a2536}}
.line-edit{min-width:74px;padding:7px 8px;border-radius:6px;font-size:11px}.line-edit.invalid-line-edit{border-color:#b42318!important;background:#fff1f0!important;box-shadow:0 0 0 2px #b4231822}.line-availability,.line-note{min-width:120px}.review-edited{background:#fffaf0}.review-edited td:first-child{box-shadow:inset 3px 0 #ff6b00}@media print{.line-edit{border:0;padding:0;background:transparent;font-size:10px}.line-edit.invalid-line-edit{background:transparent!important;box-shadow:none}.review-edited{background:transparent}.review-edited td:first-child{box-shadow:none}}
.insurance-handoff{margin-top:16px;border-color:#b8caeb;background:#f8fbff}.insurance-handoff>div:first-child p:last-child,.handoff-warning{color:#536174;line-height:1.55}.handoff-warning{padding:11px 13px;border-radius:9px;background:#fff3dc;border-left:4px solid #ff6b00}.insurance-handoff .project-grid{margin:16px 0}
.app-version{display:block;margin-top:7px;color:#ff9b52!important;font-weight:800;letter-spacing:.4px}
.login-brand-lockup{width:420px;max-width:calc(100% + 24px);height:202px;margin:-42px -12px 8px}.login-brand-lockup>img{width:420px;height:202px}.login-brand-lockup .brand-lockup-copy{left:39%;top:47%;width:57%;color:#fff}.login-brand-lockup .brand-lockup-copy b{font-size:38px;line-height:1}.login-brand-lockup .brand-lockup-copy small{color:#d8e5f4;font-size:10px}
@media(max-width:600px){body{min-width:0}aside{padding:14px 12px}.brand-lockup{width:100%;max-width:350px;height:128px}.brand-lockup>img{width:100%;height:125px}.brand-lockup-copy{left:38%;top:62px;width:55%}nav{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}nav button{padding:9px;font-size:12px}main{padding:14px}.project-grid,.measure-grid,.scope-grid{grid-template-columns:1fr}.result-top,.section-head{display:block}.toolbar{justify-content:flex-start;flex-wrap:wrap}.results{padding:14px}.trade{overflow-x:auto}.login-card{padding:22px 18px}.login-brand-lockup{width:calc(100% + 20px);height:184px;margin:-34px -10px 4px}.login-brand-lockup>img{width:100%;height:184px}.login-brand-lockup .brand-lockup-copy{left:39%;top:47%;width:57%}.login-brand-lockup .brand-lockup-copy b{font-size:32px}.login-brand-lockup .brand-lockup-copy small{font-size:8px}}
@media(max-width:600px){.trade{overflow:visible}.trade table,.trade tbody,.trade tr,.trade td{display:block;width:100%}.trade thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.trade tbody{display:grid;gap:12px}.trade tbody tr{padding:12px;border:1px solid #dce3ed;border-radius:12px;background:#fff;box-shadow:0 4px 14px #1a25360a}.trade tbody td{display:grid;grid-template-columns:88px minmax(0,1fr);gap:8px;align-items:start;padding:7px 0;border-bottom:1px solid #edf0f4;text-align:left;overflow-wrap:anywhere}.trade tbody td:last-child{border-bottom:0}.trade tbody td::before{font-size:9px;font-weight:900;letter-spacing:.45px;text-transform:uppercase;color:#657184}.trade tbody td:nth-child(1)::before{content:"Line / item"}.trade tbody td:nth-child(2)::before{content:"Evidence"}.trade tbody td:nth-child(3)::before{content:"Unit"}.trade tbody td:nth-child(4)::before{content:"Quantity"}.trade tbody td:nth-child(5)::before{content:"Availability"}.trade tbody td:nth-child(6)::before{content:"Unit cost"}.trade tbody td:nth-child(7)::before{content:"Estimator note"}.trade tbody td:nth-child(8)::before{content:"Sell"}.trade tbody td.num{text-align:left}.trade .line-edit{width:100%;min-width:0}.trade-total{float:none;display:block;margin-top:4px}.review-gate{padding:16px}.review-checks label{align-items:flex-start}}
@media print{html,body{width:100%;overflow:visible}.results{width:100%;max-width:none}.trade{page-break-before:auto}.trade table{width:100%;table-layout:fixed;font-size:8.5px}.trade th,.trade td{padding:4px 3px;vertical-align:top;overflow-wrap:anywhere;word-break:normal}.trade th:first-child,.trade td:first-child{width:18%}.trade th:nth-child(2),.trade td:nth-child(2){width:23%}.trade th:nth-child(3),.trade td:nth-child(3){width:6%}.trade th:nth-child(4),.trade td:nth-child(4){width:6%}.trade th:nth-child(5),.trade td:nth-child(5){width:12%}.trade th:nth-child(6),.trade td:nth-child(6){width:8%}.trade th:nth-child(7),.trade td:nth-child(7){width:15%}.trade th:last-child,.trade td:last-child{width:12%}.line-edit,.line-availability,.line-note{display:block;width:100%;min-width:0!important;max-width:100%;height:auto;padding:0;border:0;background:transparent;font-size:8.5px;line-height:1.25;color:#1a2536}.line-reference{font-size:7px;margin-bottom:2px;padding:1px 3px}.confidence{font-size:7px;padding:1px 3px}.result-top{break-after:avoid}.estimate-meta{break-after:avoid}.legal-disclaimer{break-before:auto}}

/* Long-estimate trade navigation */
.estimate-fold-controls{display:flex;gap:8px;margin-right:auto;flex-wrap:wrap}.trade h3{display:flex;align-items:center;gap:10px}.trade-total{margin-left:auto;float:none}.trade-toggle{flex:0 0 auto;background:#e7f0ff;color:#17457b;border-radius:7px;padding:6px 9px;font-size:11px;font-weight:800}.trade.collapsed table{display:none!important}.trade.collapsed h3{margin-bottom:0}.trade.collapsed{margin-bottom:8px}
@media(max-width:600px){.trade h3{align-items:center;font-size:16px}.trade-total{font-size:13px}.trade-toggle{padding:7px 9px}.estimate-fold-controls{width:100%}.estimate-fold-controls button{flex:1 1 140px}}
@media print{.estimate-fold-controls,.trade-toggle{display:none!important}.trade.collapsed table{display:table!important}.trade.collapsed{margin-bottom:24px}}

/* Business workspace: full-width brand banner with navigation beneath it. */
body{display:block;min-width:0}
.business-top-shell{position:sticky;top:0;z-index:40;width:100%;background:#14243a;color:#fff;box-shadow:0 8px 24px rgba(20,37,54,.16)}
.business-brand-banner{min-height:118px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:8px max(24px,calc((100vw - 1400px)/2));background:linear-gradient(110deg,#14243a 0%,#1d3657 62%,#0758bd 100%)}
.business-brand-banner .brand-lockup{flex:0 0 315px;width:315px;height:104px;margin:0}
.business-brand-banner .brand-lockup>img{width:315px;height:104px;object-position:left center}
.business-brand-banner .security{margin:0;text-align:right;color:#fff;font-size:14px;font-weight:900;letter-spacing:.35px}
.business-brand-banner .security small{display:block;margin-top:4px;color:#dceaff;font-weight:600}
.business-brand-banner .app-version{color:#ffb37e!important}
.business-top-navigation{display:flex;align-items:stretch;gap:4px;width:100%;margin:0;padding:8px max(20px,calc((100vw - 1400px)/2));overflow-x:auto;background:#fff;border-bottom:1px solid #d8e1ee;scrollbar-width:thin}
.business-top-navigation button,.business-top-navigation .nav-import{flex:0 0 auto;display:flex;align-items:center;justify-content:center;min-height:42px;margin:0;padding:10px 16px;border-radius:9px;background:transparent;color:#27405f;font-size:13px;font-weight:800;white-space:nowrap;text-align:center}
.business-top-navigation button:hover,.business-top-navigation button.active,.business-top-navigation .nav-import:hover{background:#e7f0ff;color:#0052cc}
.business-top-navigation .nav-import{cursor:pointer}
.business-top-navigation .nav-import input{display:none}
main{max-width:1400px;padding:34px 32px 56px}
@media(max-width:700px){.business-top-shell{position:relative}.business-brand-banner{min-height:94px;padding:6px 14px}.business-brand-banner .brand-lockup{flex-basis:230px;width:230px;height:82px;margin:0}.business-brand-banner .brand-lockup>img{width:230px;height:82px}.business-brand-banner .security{font-size:11px}.business-brand-banner .security>small:first-of-type{display:none}.business-top-navigation{padding:7px 10px;justify-content:flex-start}.business-top-navigation button,.business-top-navigation .nav-import{min-height:39px;padding:8px 12px;font-size:12px}main{padding:20px 14px 42px}}
@media(max-width:430px){.business-brand-banner{justify-content:center}.business-brand-banner .security{display:none}.business-top-navigation{scroll-snap-type:x proximity}.business-top-navigation button,.business-top-navigation .nav-import{scroll-snap-align:start}}

/* Reserved advertising inventory. Desktop rails use otherwise-empty outer margins; the banner remains responsive. */
.business-ad-rail{position:fixed;top:260px;bottom:36px;z-index:2;display:none;grid-template-rows:1fr 1fr;gap:16px;width:clamp(112px,calc((100vw - 1428px)/2),170px)}
.business-ad-rail-left{left:10px}.business-ad-rail-right{right:10px}
.business-ad-slot,.business-ad-banner{display:grid;place-items:center;align-content:center;gap:7px;overflow:hidden;border:1px dashed #aebed2;border-radius:14px;background:linear-gradient(145deg,#f9fbfe,#edf3fa);color:#526176;text-align:center}
.business-ad-slot span,.business-ad-banner span{font-size:9px;font-weight:900;letter-spacing:1.25px;text-transform:uppercase;color:#75869c}
.business-ad-slot strong,.business-ad-banner strong{padding:0 10px;font-size:12px;color:#40536b}
.business-ad-banner{max-width:1336px;min-height:138px;margin:4px auto 42px}
@media(min-width:1660px){.business-ad-rail{display:grid}}
@media(max-width:700px){.business-ad-rail{display:none}.business-ad-banner{min-height:92px;margin:0 14px 24px;border-radius:12px}}
@media print{.business-ad-rail,.business-ad-banner{display:none!important}}
@media print{.business-top-shell{display:none!important}}
.line-remeasure{display:block;margin-top:5px;padding:4px 7px;border:1px solid #8bb5e8;border-radius:6px;background:#eef6ff;color:#0052cc;font-size:9px;font-weight:850;white-space:nowrap}.line-remeasure:hover{background:#dcecff}.customer-estimate-lines td:nth-child(2){min-width:155px}@media(max-width:600px){.line-remeasure{padding:5px 7px;font-size:9px}}@media print{.line-remeasure{display:none!important}}

/* Estimate review focus */
.estimate-review-filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap;width:100%;justify-content:flex-end;margin-top:4px}.estimate-review-filter-status{margin-right:auto;color:#657184;font-size:11px;font-weight:700}.estimate-review-filter.active{background:#174f3b;color:#fff}.review-filter-hidden,.review-filter-empty{display:none!important}
.saved-project-title,.saved-project-metrics,.saved-project-lifecycle{display:grid;gap:5px}.saved-project-title{min-width:0}.saved-project-title b{overflow-wrap:anywhere}.saved-project-metrics,.saved-project-lifecycle{text-align:right;justify-items:end}.saved-project-metrics strong{font-size:11px;color:#174f3b}.saved-project-metrics small,.saved-project-lifecycle small{font-size:10px}.saved-project-lifecycle{min-width:115px;color:#0052cc}.saved-project.needs-reprice{border-color:#c2410c;background:#fff7ed;box-shadow:inset 4px 0 #f97316}.saved-project-lifecycle.reprice_required strong{color:#c2410c}
.project-pouch-tools{display:grid;gap:8px;margin-bottom:14px;padding:12px;border:1px solid #dce3ed;border-radius:10px;background:#f8fafc}.project-pouch-tools label{display:grid;gap:5px;font-size:11px;font-weight:800;color:#243247}.project-pouch-tools input{width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.project-pouch-tools p{margin:0;font-size:11px;line-height:1.45;color:#64748b}
.project-action-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px;padding:15px 17px;border:1px solid #72a7e8;border-radius:13px;background:linear-gradient(135deg,#0867d5,#004aa8);color:#fff;box-shadow:0 10px 24px rgba(0,74,168,.2)}.project-action-banner>div:first-child{display:grid;gap:3px}.project-action-banner strong{font-size:15px}.project-action-banner span{font-size:11px;line-height:1.4;color:#dcecff}.project-action-buttons{display:flex;gap:9px;flex-wrap:wrap}.project-action-buttons button{min-height:42px;padding:10px 15px;border:1px solid rgba(255,255,255,.72);border-radius:9px;background:#fff;color:#0052cc;font-size:12px;font-weight:850;box-shadow:0 4px 12px rgba(0,40,100,.18)}.project-action-buttons button:hover{background:#edf5ff;color:#003f91}@media(max-width:600px){.project-action-banner{display:grid}.project-action-buttons{display:grid;grid-template-columns:1fr 1fr}.project-action-buttons button{width:100%}}.pipeline-alerts{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 16px;padding:14px 16px;border:1px solid #b8d9c8;border-radius:12px;background:#edf8f2}.pipeline-alerts.needs-reprice{border-color:#e5a448;background:#fff4df}.pipeline-alerts div{display:grid;gap:3px}.pipeline-alerts strong{font-size:14px}.pipeline-alerts span{font-size:12px;color:#64748b}.pipeline-alerts button,.estimate-lifecycle-actions button{padding:8px 10px;border-radius:8px;background:#e8eee9;color:#174f3b;font-size:11px;font-weight:800}.pipeline-alerts.needs-reprice button{background:#9a5a00;color:#fff}.estimate-lifecycle{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:14px 0;padding:14px;border:1px solid #b8d9c8;border-radius:12px;background:#f4fbf7}.estimate-lifecycle.expired{border-color:#c87800;background:#fff4df}.estimate-lifecycle-copy h3{margin:3px 0;font-size:16px}.estimate-lifecycle-copy p,.estimate-lifecycle-copy small{display:block;margin:0;color:#64748b;font-size:11px;line-height:1.4}.estimate-lifecycle-actions{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.estimate-lifecycle-actions button:disabled{opacity:.45;cursor:not-allowed}.estimate-lifecycle.expired .estimate-lifecycle-actions button[data-lifecycle="reprice"]{background:#9a5a00;color:#fff}
@media(max-width:700px){.pipeline-alerts,.estimate-lifecycle{display:grid}.estimate-lifecycle-actions{justify-content:flex-start}}
@media print{.pipeline-alerts,.estimate-lifecycle-actions{display:none!important}.estimate-lifecycle{display:block;border:1px solid #1a2536;background:#fff;break-after:avoid}.estimate-lifecycle.expired{border:2px solid #9a5a00}}
@media(max-width:600px){.saved-project{display:grid;gap:10px}.saved-project-metrics,.saved-project-lifecycle{text-align:left;justify-items:start}}
@media(max-width:600px){.estimate-review-filters{justify-content:flex-start}.estimate-review-filter-status{flex-basis:100%;margin-right:0}.estimate-review-filter{flex:1 1 100px}}
@media print{.estimate-review-filters{display:none!important}.review-filter-hidden{display:table-row!important}.review-filter-empty{display:block!important}}

/* Visible audit and review explanations */
.scope-bulk-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.scope-bulk-actions .link{min-height:38px;padding:8px 11px;border:1px solid #8bb6eb;border-radius:8px;background:#edf5ff;color:#0052cc;font-weight:850}.scope-bulk-actions .link:hover{background:#dcecff}@media(max-width:600px){.scope-bulk-actions{justify-content:flex-start;width:100%}.scope-bulk-actions .link{flex:1}}
.custom-macro-scope-picker{margin-top:14px;padding:14px;border:1px solid #8bb6eb;border-radius:11px;background:#edf5ff}.custom-macro-scope-picker label{color:#153b70}.custom-macro-scope-picker small{display:block;margin-top:7px;color:#526b8b}.custom-template-scope{grid-column:1/-1;border-color:#72a7e8;background:#f4f8ff}.custom-template-scope span{font-size:14px}
.macro-launch-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;margin-top:14px;border:1px solid #8bb6eb;border-radius:14px;background:#f4f8ff}.macro-launch-card p{margin:5px 0;color:#526176}.macro-launch-card>div:last-child{display:flex;gap:9px;flex-wrap:wrap}.macro-launch-card .primary{width:auto;margin:0;background:#0756cf}.macro-builder-dialog{width:min(1500px,calc(100vw - 28px));max-width:none;height:min(94vh,980px);padding:0;border:0;border-radius:18px;background:#f5f7fa;box-shadow:0 25px 80px #07101f66}.macro-builder-dialog::backdrop{background:#07101fd9}.macro-dialog-head{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:64px minmax(300px,1fr) auto 44px;align-items:center;gap:14px;padding:13px 20px;border-bottom:1px solid #cbd5e1;background:#fff}.macro-dialog-head>img{width:60px;height:54px;object-fit:contain}.macro-dialog-head h2{margin:3px 0;color:#ff6800;font-size:25px}.macro-dialog-head>button{width:42px;height:42px;border-radius:50%;background:#eaf1fb;color:#0756cf;font-size:25px}.macro-dialog-actions{display:flex;gap:9px}.macro-dialog-actions button{min-height:42px;padding:10px 14px;border-radius:9px;background:#0756cf;color:#fff;font-size:12px;font-weight:900;text-transform:uppercase}.macro-builder-dialog #macroBuilderDialogBody{padding:18px 22px 80px;overflow:auto}.macro-builder-dialog .macro-name-bar{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:14px;padding:14px;margin:0 0 14px;border:1px solid #cbd5e1;border-radius:12px;background:#fff}.macro-builder-dialog .macro-name-bar input,.macro-builder-dialog .macro-name-bar textarea{min-height:48px}.macro-builder-dialog .macro-estimate-builder{min-width:1050px;margin-bottom:14px}.macro-save-banner{position:fixed;z-index:8;right:42px;bottom:28px;min-width:250px;padding:16px 22px;border:2px solid #fff;border-radius:13px;background:linear-gradient(135deg,#0756cf,#00449f);color:#fff;font-weight:950;box-shadow:0 14px 35px #07101f55}.macro-builder-open{overflow:hidden}[hidden]{display:none!important}@media(max-width:720px){.macro-launch-card{align-items:stretch;flex-direction:column}.macro-launch-card>div:last-child{display:grid}.macro-builder-dialog{width:100vw;height:100vh;max-height:none;border-radius:0}.macro-dialog-head{grid-template-columns:48px 1fr 42px}.macro-dialog-head>img{width:46px}.macro-dialog-head h2{font-size:18px}.macro-dialog-actions{grid-column:1/-1}.macro-dialog-actions button{flex:1}.macro-builder-dialog #macroBuilderDialogBody{padding:12px 12px 80px;overflow:auto}.macro-builder-dialog .macro-name-bar{grid-template-columns:1fr}.macro-builder-dialog .macro-estimate-builder{min-width:980px}.macro-save-banner{position:sticky;left:0;bottom:8px;width:100%;margin-top:12px}}
.line-review-reasons{display:block;margin-top:7px;padding:5px 7px;border-radius:6px;background:#fff3dc;color:#7a3d00;font-size:9px;font-weight:800;line-height:1.35}.line-review-reasons.hidden-review-reason{display:none}.scope-audit-badge{flex:0 0 auto;padding:4px 7px;border-radius:99px;font-size:9px;font-weight:900;letter-spacing:.25px}.scope-audit-badge.audited{background:#e7f5ec;color:#18794e}.scope-audit-badge.pending{background:#fff3dc;color:#9a3412}
@media(max-width:600px){.trade h3{flex-wrap:wrap}.scope-audit-badge{order:2}.trade-total{order:1}.trade-toggle{order:3}}
@media print{.line-review-reasons{border:1px solid #d7b77d;background:#fff;color:#5f3a00;font-size:7px}.scope-audit-badge{border:1px solid #aab6c5;background:#fff!important;color:#1a2536!important}}

/* Objective internal-approval gate */
.release-blockers{grid-column:1/-1;padding:12px 14px;border:1px solid #efb3ad;border-radius:10px;background:#fff1f0;color:#85251d;font-size:12px}.release-blockers strong{display:block}.release-blockers strong.clear{color:#18794e}.release-blockers ul{margin:7px 0 0;padding-left:18px;display:grid;gap:4px}.review-checks button:disabled{cursor:not-allowed;opacity:.65}
@media print{.release-blockers{display:none!important}}
.case-preflight{margin:18px 0 0;padding:18px 20px;border:1px solid #d6deea;border-left:5px solid #0052cc;border-radius:14px;background:#f8fbff}.case-preflight.has-actions{border-left-color:#ff6b00;background:#fffaf4}.case-preflight-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.case-preflight h3{margin:3px 0 4px;font-size:18px}.case-preflight p{margin:0;color:#5f6d80;font-size:12px;line-height:1.45}.case-preflight-count{flex:0 0 auto;padding:6px 9px;border-radius:99px;background:#e7f0ff;color:#17457b;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.4px}.case-preflight.has-actions .case-preflight-count{background:#fff0df;color:#9a3412}.case-preflight ul{display:grid;gap:7px;margin:13px 0 0;padding:0;list-style:none}.case-preflight li{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start;padding:9px 10px;border-radius:9px;background:#fff;border:1px solid #e2e8f0;color:#344257;font-size:12px;line-height:1.4}.case-preflight li::before{content:"Review";padding:2px 5px;border-radius:4px;background:#fff0df;color:#9a3412;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.35px}.case-preflight li.info::before{content:"Info";background:#e7f0ff;color:#17457b}.case-preflight li strong{display:block;color:#1a2536}.case-preflight-note{margin-top:10px!important;font-weight:700}.case-preflight-note a{color:#0052cc}@media(max-width:600px){.case-preflight{padding:15px}.case-preflight-head{display:block}.case-preflight-count{display:inline-block;margin-top:9px}}@media print{.case-preflight{display:none!important}}
.case-guide{margin-bottom:22px;padding:18px;border:1px solid #d6deea;border-radius:14px;background:#f8fbff}.case-guide h3{margin:4px 0 14px}.case-guide ol{display:grid;gap:9px;margin:0;padding:0;list-style:none;counter-reset:case-step}.case-guide li{counter-increment:case-step;display:grid;grid-template-columns:26px 150px 1fr;gap:10px;align-items:start;padding:9px 0;border-bottom:1px solid #e3e9f1;font-size:12px;line-height:1.45}.case-guide li:last-child{border-bottom:0}.case-guide li::before{content:counter(case-step);display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#ff6b00;color:#fff;font-size:10px;font-weight:900}.case-guide li strong{color:#1a2536}.case-guide li span{color:#5f6d80}.faq-search-label{display:grid;gap:7px;margin-bottom:12px}.faq-search-label .faq-search{margin:0}@media(max-width:600px){.case-guide{padding:14px}.case-guide li{grid-template-columns:26px 1fr}.case-guide li span{grid-column:2}}
.file-entry{display:flex;align-items:center;gap:8px}.remove-file{padding:3px 7px!important;border:1px solid #fdba74!important;border-radius:99px!important;background:#fff7ed!important;color:#9a3412!important;font-size:10px!important}
.confirm-source-review{margin-top:12px;padding:8px 11px;border:1px solid #0052cc;border-radius:8px;background:#fff;color:#0052cc;font-size:11px;font-weight:800}
.labor-template-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;align-items:end}.labor-template-list{display:grid;gap:10px;margin-top:16px}.labor-template-row{display:grid;grid-template-columns:minmax(190px,2fr) minmax(100px,1fr) 90px auto;gap:10px;align-items:end;padding:12px;border:1px solid #d9e2ec;border-radius:12px;background:#f8fafc}.labor-template-row strong{display:block}.labor-template-row small{color:#526273}.labor-template-row .labor-use{display:flex;gap:8px;align-items:center}.labor-template-row button{padding:9px 12px}@media(max-width:760px){.labor-template-row{grid-template-columns:1fr 1fr}.labor-template-row>div:first-child{grid-column:1/-1}}
.nav-import{display:block;padding:12px;border-radius:9px;background:transparent;color:#cbd8d2;font-size:13px;font-weight:400;cursor:pointer}.nav-import:hover{background:#1c3b2f;color:#fff}.nav-import input{display:none}
.catalog-status{margin:8px 0 0;padding:10px 13px;border:1px solid #d6deea;border-radius:10px;background:#f8fbff;color:#40516a;font-size:12px;line-height:1.4}.catalog-status strong{color:#1a2536}.catalog-status.demo{border-left:4px solid #ff6b00;background:#fffaf4}.catalog-status.upload{border-left:4px solid #16845b}.catalog-status.case{border-left:4px solid #0052cc}
.catalog-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.catalog-action{padding:11px 13px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#17457b;font-weight:750}.catalog-action:hover{border-color:#0052cc;background:#f4f8ff}@media(max-width:760px){.settings-card{display:block}.catalog-actions{justify-content:flex-start;margin-top:14px}}
.catalog-status.stale{border:2px solid #c66a00;background:#fff4df;color:#713f12}
.catalog-status.freshness-stale,.catalog-status.freshness-future{border:2px solid #b42318;background:#fff1f0;color:#7a271a}.catalog-status.freshness-current{border-left-color:#16845b}
.scope-package-bar{display:grid;grid-template-columns:minmax(280px,1.2fr) minmax(220px,.8fr);gap:14px;margin-top:16px;padding:14px;border:1px solid #d7e1ee;border-radius:12px;background:#f7faff}.scope-package-bar label:first-child{color:#1a2536}.scope-package-bar label:first-child select{border-color:#8bb5e8;background:#fff}@media(max-width:760px){.scope-package-bar{grid-template-columns:1fr}}
.source-review{margin:0 0 16px}.source-review .section-head p:last-child{margin:6px 0 0;color:#64748b;font-size:13px}.source-review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:16px}.source-review-card{display:grid;grid-template-columns:130px 1fr;gap:14px;min-height:150px;padding:12px;border:1px solid #d7e1ee;border-radius:13px;background:#f8fafc}.source-review-card img,.source-preview-missing{width:130px;height:130px;object-fit:contain;border-radius:9px;background:#e9eef5}.source-preview-missing{display:grid;place-items:center;padding:12px;text-align:center;color:#64748b;font-size:11px}.source-review-card>div:last-child{display:flex;flex-direction:column;gap:8px;min-width:0}.source-review-card strong{overflow-wrap:anywhere}.source-review-card small{color:#64748b;line-height:1.4}.source-review-card label{display:flex;align-items:flex-start;gap:8px;margin-top:auto;line-height:1.35}.source-review-card input{width:auto;margin-top:2px}@media(max-width:600px){.source-review-card{grid-template-columns:92px 1fr}.source-review-card img,.source-preview-missing{width:92px;height:108px}}
.pouch-drop{min-height:174px;padding:20px 22px 18px 112px;align-items:flex-start;justify-content:center;text-align:left;overflow:visible;border:2px dashed #9fb4aa;background:linear-gradient(145deg,#fff 0%,#f7faf8 100%);transition:border-color .18s,box-shadow .18s,transform .18s;z-index:1;cursor:pointer}.pouch-drop>input[type=file]{z-index:10;cursor:pointer}.pouch-drop:hover,.pouch-drop:focus-within{border-color:#ff6b00;box-shadow:0 12px 32px rgba(20,32,28,.12);z-index:20}.pouch-drop:focus-within{outline:3px solid rgba(0,82,204,.22);outline-offset:2px}.pouch-drop.drag{transform:translateY(-2px);border-color:#ff6b00;background:#fff7ed}.pouch-mascot{position:absolute;left:-8px;bottom:-4px;width:118px;height:158px;object-fit:contain;object-position:center bottom;pointer-events:none;z-index:3;filter:drop-shadow(0 8px 8px rgba(20,32,28,.14))}.pouch-Kangus{width:124px;left:-10px}.pouch-copy{display:grid;gap:6px;position:relative;z-index:2}.pouch-copy b{font-size:16px;color:#172338}.pouch-copy span{line-height:1.4}.pouch-contents{display:flex;align-items:center;gap:9px;min-height:44px;margin-top:12px;padding:8px 10px;border-radius:10px;border:1px solid #d8e2dc;background:rgba(255,255,255,.88);position:relative;z-index:2;width:100%;max-width:360px}.pouch-contents strong{font-size:12px;color:#173024}.pouch-contents small{font-size:10px;color:#65716c;margin-left:auto}.pouch-empty{font-size:11px!important;color:#78867f!important}.pouch-drop.filled{border-style:solid;border-color:#65a987;background:linear-gradient(145deg,#fff 0%,#edf8f1 100%)}.pouch-file-stack{position:relative;display:inline-block;width:40px;height:34px;flex:0 0 40px}.pouch-file-mini{position:absolute;left:calc(var(--pouch-index)*7px);top:calc(var(--pouch-index)*-2px);width:27px;height:34px;display:grid;place-items:center;border:1px solid #8ca59a;border-radius:3px;background:white;color:#0052cc;font-size:18px;box-shadow:0 2px 5px rgba(20,32,28,.12);overflow:hidden}.pouch-file-mini img{width:100%;height:100%;object-fit:cover}.pouch-tooltip{position:absolute;left:88px;right:14px;top:calc(100% + 8px);padding:12px 14px;border-radius:11px;background:#172338;color:white;text-align:left;font-size:11px;line-height:1.4;box-shadow:0 12px 30px rgba(15,23,42,.25);opacity:0;visibility:hidden;transform:translateY(-4px);transition:.16s;pointer-events:none;z-index:30}.pouch-tooltip:before{content:"";position:absolute;top:-6px;left:32px;width:12px;height:12px;background:#172338;transform:rotate(45deg)}.pouch-tooltip strong{color:#ffb36b}.pouch-tooltip ul{margin:6px 0 0;padding-left:17px;max-height:180px;overflow:auto}.pouch-tooltip li{overflow-wrap:anywhere;margin:3px 0}.pouch-tooltip em{color:#b8c5d8}.pouch-drop:hover .pouch-tooltip,.pouch-drop:focus-within .pouch-tooltip{opacity:1;visibility:visible;transform:translateY(0)}@media(max-width:600px){.pouch-drop{padding-left:96px}.pouch-mascot{width:103px;height:145px}.pouch-contents{align-items:flex-start;flex-wrap:wrap}.pouch-contents small{width:100%;margin-left:49px}.pouch-tooltip{left:16px}}
.pouch-followup-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 16px}.pouch-followup-grid .notes-card,.pouch-followup-grid .settings-card{margin-top:0;display:grid;align-content:start;gap:14px;min-width:0}.pouch-copy b,.setup-card h2{font-size:18px;line-height:1.25;color:#172338;letter-spacing:-.2px;margin:3px 0 7px}.pouch-copy span,.setup-helper,.setup-card textarea,.setup-card button,.setup-card label{font-size:13px;line-height:1.45;color:#5f6f78}.setup-helper{margin:0;min-height:57px}.setup-card textarea{min-height:112px;margin:0;color:#172338}.pouch-followup-grid .catalog-actions{justify-content:flex-start;align-items:stretch;gap:8px}.pouch-followup-grid .catalog-action,.pouch-followup-grid .upload-small{display:flex;align-items:center;justify-content:center;min-height:42px;padding:10px 12px;font-size:12px;font-weight:750;color:#17457b;background:#fff;border:1px solid #cbd5e1;border-radius:9px}.pouch-followup-grid .upload-small{background:#eef3ef;color:#274c3d}@media(max-width:900px){.pouch-followup-grid{grid-template-columns:1fr}.setup-helper{min-height:0}}
.notes-accuracy-callout{position:static;height:auto;padding:13px 14px;border:1px solid #f3b16b;border-left:5px solid #ff6b00;border-radius:10px;background:#fff7ed;color:#713f12;display:grid;gap:5px;box-shadow:none}.notes-accuracy-callout strong{color:#9a3412;font-size:14px;line-height:1.3}.notes-accuracy-callout span{font-size:12px;line-height:1.5;color:#713f12}
.measured-aerial-fallback{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px;align-items:center;margin:0 0 16px;padding:18px;border:2px solid #ff9a45;border-left-width:6px;border-radius:14px;background:#fff7ed;color:#713f12}.measured-aerial-fallback.hidden{display:none}.measured-aerial-fallback h3{margin:3px 0 8px;color:#172338;font-size:20px}.measured-aerial-fallback p{margin:0;line-height:1.5}.measured-aerial-fallback a{display:grid;gap:6px;color:#0052cc;font-size:11px;font-weight:800;text-align:center}.measured-aerial-fallback img{width:100%;max-height:150px;object-fit:cover;border:2px solid #8bb5e8;border-radius:9px;background:#fff}.measured-aerial-fallback a:hover img{border-color:#0052cc}@media(max-width:700px){.measured-aerial-fallback{grid-template-columns:1fr}.measured-aerial-fallback a{max-width:360px}}
.setup-card .eyebrow{color:#0052cc;font-size:11px;line-height:1.2;font-weight:800;letter-spacing:1.5px}
.advanced-panel{margin-top:12px;padding:0 22px 20px;overflow:visible}.advanced-panel:not([open]){padding-bottom:0}.advanced-panel>summary{cursor:pointer;list-style-position:inside;margin:0 -22px;padding:16px 22px;color:#0052cc;font-size:14px;font-weight:850;line-height:1.35;border-radius:15px;transition:background .16s,color .16s}.advanced-panel>summary:hover,.advanced-panel>summary:focus-visible{background:#f4f8ff;color:#003f9e;outline:none}.advanced-panel>summary:focus-visible{box-shadow:inset 0 0 0 2px #8bb5e8}.advanced-panel[open]>summary{border-bottom:1px solid #dbe3ee;border-radius:15px 15px 0 0;margin-bottom:18px}.advanced-panel>summary::marker{color:#0052cc}.advanced-panel>.eyebrow:first-child,.advanced-panel>div>.eyebrow:first-child{margin-top:0}.advanced-panel .roof-inputs{margin-top:14px}/* BidPouch action system: orange primary, blue secondary, blue outline utility. */
.secondary,#saveCustomParameter,#saveLaborTemplate,#saveAllowancePresets,#saveCountertopPreset,#reviewReady,.copy-template,#reviewPipeline{min-height:42px;padding:10px 16px;border:1px solid #0052cc;border-radius:10px;background:linear-gradient(135deg,#0867d5,#004aa8);color:#fff;font-size:13px;font-weight:800;box-shadow:0 5px 14px rgba(0,82,204,.16);transition:transform .15s,box-shadow .15s,background .15s}
.secondary:hover,#saveCustomParameter:hover,#saveLaborTemplate:hover,#saveAllowancePresets:hover,#saveCountertopPreset:hover,#reviewReady:hover,.copy-template:hover,#reviewPipeline:hover{background:linear-gradient(135deg,#005ac4,#003f91);box-shadow:0 7px 18px rgba(0,82,204,.25);transform:translateY(-1px)}
.catalog-action,.toolbar button:not(.primary),.collapse-all-trades,.expand-all-trades,.estimate-review-filter,.onboarding-secondary{min-height:40px;padding:9px 13px;border:1px solid #8bb5e8;border-radius:9px;background:#fff;color:#0052cc;font-size:12px;font-weight:800;transition:background .15s,border-color .15s,color .15s}
.catalog-action:hover,.toolbar button:not(.primary):hover,.collapse-all-trades:hover,.expand-all-trades:hover,.estimate-review-filter:hover,.onboarding-secondary:hover{border-color:#0052cc;background:#edf5ff;color:#003f91}
.built-in-template-choice.selected{border-color:#d94f00;background:#f45b00;color:#fff;box-shadow:0 7px 16px rgba(244,91,0,.22)}
.link{color:#0052cc;font-weight:800}.link:hover{text-decoration:underline;text-underline-offset:3px}
button:focus-visible,.upload-small:focus-within{outline:3px solid rgba(255,107,0,.32);outline-offset:2px}
button:disabled{cursor:not-allowed;opacity:.5;transform:none!important;box-shadow:none!important}
#changeCompanyProfile{margin:0 0 16px auto;display:flex;align-items:center;justify-content:center}.labor-delete,.custom-delete,.remove-file{min-height:36px;padding:8px 12px!important;border:1px solid #f97316!important;border-radius:9px!important;background:#fff7ed!important;color:#b34200!important;font-size:12px!important;font-weight:800!important}.labor-delete:hover,.custom-delete:hover,.remove-file:hover{background:#ffead5!important;border-color:#e25300!important;color:#8f3100!important}
.pipeline-alerts button,.estimate-lifecycle-actions button,.import-project{min-height:38px;padding:8px 12px;border:1px solid #8bb5e8;border-radius:9px;background:#fff;color:#0052cc;font-size:11px;font-weight:800}.pipeline-alerts button:hover,.estimate-lifecycle-actions button:hover,.import-project:hover{border-color:#0052cc;background:#edf5ff;color:#003f91}
.estimate-workspace{width:min(1240px,calc(100vw - 28px));height:calc(100vh - 28px);max-width:none;max-height:none;margin:auto;padding:0;border:0;border-radius:18px;background:#edf1f6;color:#172338;box-shadow:0 30px 80px rgba(15,23,42,.38);overflow:auto}.estimate-workspace::backdrop{background:rgba(8,18,32,.72)}.estimate-workspace-head{position:sticky;top:0;z-index:20;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px 24px;border-bottom:1px solid #d8e0eb;background:rgba(255,255,255,.98)}.estimate-workspace-head h2{margin:2px 0 4px}.estimate-workspace-head p:last-child{margin:0;color:#64748b;font-size:12px}.estimate-workspace-head>button{width:40px;height:40px;border-radius:50%;background:#172338;color:#fff;font-size:25px}.estimate-delivery-actions{position:sticky;top:91px;z-index:19;display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:12px 24px;border-bottom:1px solid #d8e0eb;background:rgba(248,250,252,.98)}.estimate-delivery-actions button{min-height:40px;padding:9px 14px;border:1px solid #8bb5e8;border-radius:9px;background:#fff;color:#0052cc;font-size:12px;font-weight:800}.estimate-delivery-actions .primary{width:auto;margin:0;border:0;background:linear-gradient(135deg,#ff6b00,#e25300);color:#fff}.estimate-delivery-actions span{margin-left:auto;padding:8px 11px;border-radius:99px;background:#fff2ce;color:#7b4b00;font-size:11px;font-weight:800}.estimate-delivery-actions span.approved{background:#e6f6ec;color:#18794e}.white-label-estimate{max-width:960px;margin:24px auto;padding:46px;background:#fff;border:1px solid #d8e0eb;border-radius:4px;box-shadow:0 12px 34px rgba(15,23,42,.1);font-size:13px}.customer-estimate-header,.customer-estimate-parties,.customer-estimate-acceptance,.white-label-estimate footer{display:flex;justify-content:space-between;gap:24px}.customer-company-brand{display:flex;align-items:flex-start;gap:18px;min-width:0}.customer-company-brand img,.customer-logo-placeholder{width:150px;height:88px;object-fit:contain;border-radius:6px}.customer-logo-placeholder{display:grid;place-items:center;border:2px dashed #aab8c9;color:#64748b;font-size:11px}.customer-company-brand h1{margin:0 0 6px;font-size:25px;color:#172338}.customer-company-brand p{margin:2px 0;color:#526273;line-height:1.45}.customer-company-brand small{display:block;margin-top:6px}.customer-estimate-title{text-align:right}.customer-estimate-title span{display:inline-block;padding:5px 9px;border-radius:99px;background:#fff2ce;color:#9a4c00;font-size:10px;font-weight:900}.customer-estimate-title h2{margin:8px 0 4px;font-size:34px;letter-spacing:1px}.customer-estimate-parties{margin:28px 0 20px}.customer-estimate-parties>div{display:grid;align-content:start;gap:6px;width:50%;min-height:150px;padding:17px;border:1px solid #d8e0eb;border-radius:9px}.customer-estimate-parties label{color:#0052cc;font-size:10px;letter-spacing:1.2px}.customer-estimate-intro{margin:0 0 20px;padding:14px 16px;background:#f7f9fc;border-left:4px solid #0052cc}.estimate-editable{display:block;min-height:18px;border-radius:4px}.estimate-editable:empty:before{content:attr(data-placeholder);color:#94a3b8}.estimate-editable:hover,.estimate-editable:focus{background:#fff7ed;outline:1px dashed #ff8b38}.customer-estimate-lines{width:100%;border-collapse:collapse;font-size:11px}.customer-estimate-lines th,.customer-estimate-lines td{padding:9px 7px;border-bottom:1px solid #e1e7ef;vertical-align:top}.customer-estimate-lines thead th{background:#172338;color:#fff}.customer-estimate-lines th:nth-child(1){width:70px}.customer-estimate-lines th:nth-child(3){width:75px}.customer-estimate-lines th:nth-child(4){width:72px}.customer-estimate-lines th:nth-child(5),.customer-estimate-lines th:nth-child(6){width:105px;text-align:right}.customer-estimate-lines td:nth-child(5),.customer-estimate-lines td:nth-child(6){text-align:right}.customer-estimate-lines input{min-width:58px;padding:6px 7px;border-radius:5px;font-size:11px;text-align:right}.customer-trade-title th{padding:10px 8px;background:#edf5ff;color:#0052cc;text-align:left!important;font-size:12px}.customer-estimate-total{margin:18px 0 24px;padding:18px;text-align:right;border-top:2px solid #172338;background:#f7f9fc}.customer-estimate-total span,.customer-estimate-total strong,.customer-estimate-total small{display:block}.customer-estimate-total strong{margin:4px 0;font-size:29px}.customer-estimate-terms{padding:18px;border:1px solid #d8e0eb;border-radius:9px;line-height:1.5}.customer-estimate-terms h3{margin-top:0}.customer-estimate-terms p{margin-bottom:0;color:#526273;font-size:11px}.customer-estimate-acceptance{margin-top:20px}.customer-estimate-acceptance>div{display:grid;gap:8px;width:50%;min-height:105px;padding:16px;border:1px solid #d8e0eb;border-radius:9px}.white-label-estimate footer{margin-top:24px;padding-top:12px;border-top:1px solid #172338;color:#526273;font-size:9px}.internal-review-panel{max-width:1120px;margin:18px auto 40px;padding:0 18px 18px;border:1px solid #cbd5e1;border-radius:13px;background:#fff}.internal-review-panel>summary{padding:16px 0;color:#0052cc;font-weight:850;cursor:pointer}.internal-review-panel .results{margin:0;padding:10px 0;box-shadow:none}.company-identity-form{display:grid;gap:18px}.company-identity-form section{padding:16px;border:1px solid #d8e0eb;border-radius:12px;background:#f8fafc}.company-identity-form h3{margin-top:0}.company-identity-form section>p{color:#64748b;font-size:12px}.company-identity-grid,.company-asset-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.company-file-drop{min-height:90px;padding:16px;border:2px dashed #8bb5e8;border-radius:10px;background:#fff;color:#0052cc;cursor:pointer}.company-file-drop input{position:absolute;width:1px;height:1px;opacity:0}.company-file-drop span{color:#64748b;font-size:11px;font-weight:500}@media(max-width:760px){.estimate-workspace{width:100vw;height:100vh;border-radius:0}.estimate-workspace-head{padding:14px}.estimate-delivery-actions{top:87px;padding:10px 14px}.estimate-delivery-actions span{width:100%;margin-left:0}.white-label-estimate{margin:12px;padding:22px}.customer-estimate-header,.customer-estimate-parties,.customer-estimate-acceptance,.white-label-estimate footer{display:grid}.customer-estimate-parties>div,.customer-estimate-acceptance>div{width:100%}.customer-company-brand img,.customer-logo-placeholder{width:105px;height:70px}.company-identity-grid,.company-asset-grid{grid-template-columns:1fr}.customer-estimate-lines{font-size:10px}.customer-estimate-lines th,.customer-estimate-lines td{padding:6px 4px}}@media print{body>*:not(#estimateWorkspace){display:none!important}.estimate-workspace{display:block!important;position:static;width:auto;height:auto;max-width:none;max-height:none;overflow:visible;border:0;box-shadow:none;background:#fff}.estimate-workspace-head,.estimate-delivery-actions,.internal-review-panel{display:none!important}.white-label-estimate{max-width:none;margin:0;padding:0;border:0;box-shadow:none}.customer-estimate-lines thead{display:table-header-group}.customer-estimate-lines tr{break-inside:avoid}.estimate-editable:hover,.estimate-editable:focus{background:transparent;outline:0}}
.macro-name-bar{display:flex;align-items:end;gap:14px;margin:14px 0}.macro-name-bar label{flex:1}.macro-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:12px 14px;border-radius:10px;background:#eaf2ff}.macro-section-head strong,.macro-section-head span{display:block}.macro-section-head span{margin-top:2px;color:#425168}.macro-line-total{align-self:end;padding:11px 8px;font-weight:900;white-space:nowrap}@media(max-width:720px){.macro-name-bar{align-items:stretch;flex-direction:column}.macro-section-head{align-items:flex-start}.macro-line-total{padding-left:0}}
.macro-estimate-builder{overflow:hidden;margin:18px 0;border:1px solid #b9c9dc;border-radius:14px;background:#fff;box-shadow:0 12px 30px #13223a12}.macro-preview-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;background:#14233a;color:#fff}.macro-preview-head small{color:#8ebaff;font-weight:900;letter-spacing:1.2px}.macro-preview-head h3{margin:4px 0 0;color:#fff}.macro-preview-head>span{color:#dbe7f8;font-size:13px}.macro-estimate-section{display:flex;align-items:center;gap:12px;padding:11px 18px;background:#e9f2ff;border-block:1px solid #bed4f2}.macro-estimate-section input{flex:1;border:0;background:transparent;color:#0756cf;font-size:17px;font-weight:950}.macro-estimate-line{display:grid;grid-template-columns:26px 34px minmax(180px,2fr) minmax(80px,.65fr) minmax(85px,.7fr) minmax(105px,.85fr) 105px 34px;gap:10px;align-items:end;padding:13px 16px;border-bottom:1px solid #e2e8f0}.macro-estimate-line label{display:grid;gap:4px;margin:0;color:#526176;font-size:11px;font-weight:800}.macro-estimate-line input,.macro-estimate-line select{width:100%;padding:9px;border:1px solid #cbd5e1;border-radius:7px;background:#fff}.macro-estimate-line output{padding:10px 4px;font-weight:950;text-align:right}.macro-line-number{align-self:center;color:#7b8ba1;font-weight:900}.macro-remove-row{align-self:center;border:0;background:transparent;color:#a33;font-size:24px}.macro-drag-handle{align-self:center;width:26px;min-width:26px;height:38px;padding:0;border:1px solid transparent;border-radius:7px;background:transparent;color:#91a0b4;font-size:19px;line-height:1;cursor:grab;touch-action:none}.macro-drag-handle:hover,.macro-drag-handle:focus-visible{border-color:#8db3e8;background:#edf5ff;color:#0756cf;outline:none}.macro-drag-handle:active{cursor:grabbing}.macro-roofus-row{grid-column:3/-2;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding-top:3px}.macro-roofus-row label{display:flex;align-items:center;gap:6px}.macro-roofus-row label input{width:auto}.macro-row-dragging{opacity:.35}.macro-row-drop-before{box-shadow:inset 0 4px #0756cf}.macro-row-drop-after{box-shadow:inset 0 -4px #0756cf}.macro-row-just-moved{animation:macro-row-moved .7s ease-out}@keyframes macro-row-moved{from{background:#dcecff}to{background:transparent}}.macro-insert{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:17px}.macro-insert span{height:1px;background:#d9e2ed;opacity:0}.macro-insert div{display:flex;gap:6px;opacity:0;transition:.15s}.macro-insert:hover span,.macro-insert:focus-within span,.macro-insert:hover div,.macro-insert:focus-within div{opacity:1}.macro-insert button{padding:4px 9px;border:1px solid #8db3e8;border-radius:99px;background:#fff;color:#0756cf;font-size:11px;font-weight:850}@media(max-width:850px){.macro-estimate-line{grid-template-columns:24px 28px 1fr 1fr}.macro-estimate-line label:first-of-type{grid-column:3/-1}.macro-estimate-line output{grid-column:3/4;text-align:left}.macro-roofus-row{grid-column:3/-1;grid-template-columns:1fr}.macro-preview-head{align-items:flex-start;flex-direction:column}.macro-insert div{opacity:1}.macro-insert span{opacity:1}}
/* Estimate exit navigation */
.estimate-workspace-exit{display:flex;align-items:center;gap:10px;padding:8px;border-radius:12px;background:#eaf3ff}.estimate-workspace-exit #closeEstimateToDashboard{min-height:40px;padding:9px 16px;border:0;border-radius:9px;background:#0052cc;color:#fff;font-size:12px;font-weight:850}.estimate-workspace-exit #closeEstimateWorkspace{width:40px;height:40px;padding:0;border-radius:50%;background:#172338;color:#fff;font-size:25px}
.estimate-line-description{display:block;width:100%;min-width:180px;min-height:48px;resize:vertical;box-sizing:border-box;border:1px solid #a8bdd8;border-radius:7px;background:#fff;padding:7px 8px;color:#172338;font:inherit;line-height:1.35}.estimate-line-description:hover,.estimate-line-description:focus{border-color:#ff7a1a;outline:2px solid #ffe1cc}.estimate-line-action{width:44px;text-align:center!important}.estimate-line-delete{width:34px;height:34px;padding:0!important;border:1px solid #f04438!important;border-radius:9px!important;background:#fff!important;color:#d92d20!important;font-size:22px!important;font-weight:700!important;line-height:1!important}.estimate-line-delete:hover,.estimate-line-delete:focus-visible{background:#fff0ee!important}.estimate-delivery-actions #addEstimateLineItem{border-color:#ff6500;background:#fff7ed;color:#c54800}.estimate-delivery-actions #undoEstimateLineDelete:disabled{opacity:.45;cursor:not-allowed}@media(max-width:760px){.estimate-line-description{min-width:130px}.estimate-line-action{width:38px}.estimate-line-delete{width:31px;height:31px}}
/* Phone layouts must never inherit the desktop-width template canvas. */
@media(max-width:720px){html,body{width:100%;max-width:100%;overflow-x:hidden}.macro-builder-dialog{width:100vw;height:100dvh}.macro-builder-dialog #macroBuilderDialogBody{max-width:100%;padding-inline:8px;overflow-x:hidden}.macro-builder-dialog .macro-estimate-builder{width:100%;min-width:0}.macro-estimate-line{grid-template-columns:24px 24px minmax(0,1fr) minmax(0,1fr);gap:10px 8px;padding-inline:8px}.macro-estimate-line label{min-width:0}.macro-estimate-line label:first-of-type{grid-column:3/-1}.macro-estimate-line output{grid-column:3/4;text-align:left}.macro-roofus-row{grid-column:3/-1;display:grid;grid-template-columns:1fr}.macro-roofus-row label{width:100%}.macro-roofus-row>input,.macro-roofus-row input[type="text"]{width:100%;min-width:0}.macro-dialog-head{grid-template-columns:46px minmax(0,1fr) 40px;padding-inline:9px}.macro-dialog-head h2{overflow-wrap:anywhere}}
.customer-estimate-lines input,.customer-estimate-lines select{min-width:58px;padding:6px 7px;border:1px solid #b8c7d7;border-radius:5px;background:#fff;font-size:11px;text-align:right}.customer-estimate-lines select{min-width:64px;text-align:left}.section-description{font-weight:850}
.unified-pouch-grid{grid-template-columns:1fr}.unified-project-pouch{min-height:205px;padding-left:150px}.unified-project-pouch .pouch-mascot{width:150px;height:190px}.unified-project-pouch .pouch-contents{max-width:none;min-height:74px;background:#172338;border:2px dashed #9fb4aa;color:#fff}.unified-project-pouch .pouch-empty,.unified-project-pouch .pouch-contents strong,.unified-project-pouch .pouch-contents small{color:#fff!important}@media(max-width:600px){.unified-project-pouch{padding-left:105px}.unified-project-pouch .pouch-mascot{width:110px;height:155px}}
:root{--company-signature-max-width:210px}.company-approval-signature{display:block;width:auto;max-width:var(--company-signature-max-width);height:auto;max-height:72px;object-fit:contain;object-position:left center}.company-file-drop img{display:block;max-width:180px;max-height:75px;margin-top:10px;object-fit:contain;object-position:left center}.company-file-drop img[hidden]{display:none}
.common-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.common-template-choice{display:flex!important;align-items:center;gap:10px;min-height:44px;padding:10px 12px;border:1px solid #cbd8e8;border-radius:9px;background:#fff;cursor:pointer}.common-template-choice:has(input:checked){border-color:#70a7ff;background:#edf5ff}.common-template-choice input{width:17px;height:17px;flex:0 0 auto;accent-color:#0863d1}.common-template-choice span{color:#172338;font-size:12px;font-weight:750;line-height:1.3}@media(max-width:760px){.common-template-grid{grid-template-columns:1fr}}
/* Fast template workshop */
.macro-dialog-actions{align-items:end;flex-wrap:wrap}
.template-workshop-picker{display:grid;gap:3px;min-width:240px}
.template-workshop-picker span{color:#526176;font-size:10px;font-weight:900;text-transform:uppercase}
.template-workshop-picker select{min-height:42px;border:1px solid #9fb3c8;border-radius:9px;background:#fff;padding:8px;color:#13233b;font-weight:800}
.template-workshop-progress{position:sticky;top:81px;z-index:4;display:flex;justify-content:space-between;gap:18px;padding:9px 24px;border-bottom:1px solid #b7cff0;background:#eaf3ff;color:#164b91}
.template-workshop-progress span{color:#526176}
@media(max-width:720px){.template-workshop-picker{width:100%}.template-workshop-progress{top:154px;display:grid;padding:8px 12px;font-size:12px}}
