:root,[data-theme=dark]{color-scheme:dark;--bg: #0b1220;--surface: #131c2e;--surface2: #1b2740;--border: #2a3a55;--text: #e6edf5;--text-dim: #8aa0bd;--accent: #38bdf8;--green: #34d399;--yellow: #fbbf24;--purple: #a78bfa;--red: #f87171;--orange: #fb923c;--grid-line: #40557c}[data-theme=light]{color-scheme:light;--bg: #f4f6fa;--surface: #ffffff;--surface2: #eef2f8;--border: #d4dce8;--text: #1a2536;--text-dim: #61708a;--accent: #0284c7;--green: #059669;--yellow: #b45309;--purple: #7c3aed;--red: #dc2626;--orange: #ea580c;--grid-line: #aeb9cc}*{box-sizing:border-box}html{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{width:0;height:0;display:none}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}.wrap{max-width:1240px;margin:0 auto;padding:32px 24px 80px}.wrap.wide{max-width:none}.navbar{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.nav-inner{max-width:1240px;margin:0 auto;padding:0 24px;height:56px;display:flex;align-items:center;gap:8px}.nav-tabs{display:flex;gap:4px;flex:1}.nav-tab{background:none;border:none;cursor:pointer;color:var(--text-dim);font-weight:600;font-size:14px;padding:8px 14px;border-radius:7px;font-family:inherit}.nav-tab:hover{color:var(--text);background:var(--surface2)}.nav-tab.active{color:var(--accent);background:var(--surface2)}.theme-toggle{background:var(--surface2);border:1px solid var(--border);border-radius:8px;cursor:pointer;width:36px;height:36px;font-size:16px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.theme-toggle:hover{border-color:var(--accent)}h1{font-size:22px;margin:0 0 4px}.sub{color:var(--text-dim);margin:0 0 24px;font-size:13px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:24px}.tab{padding:10px 18px;cursor:pointer;color:var(--text-dim);font-weight:600;font-size:14px;border-bottom:2px solid transparent;-webkit-user-select:none;user-select:none}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.countdown{position:relative;overflow:hidden;display:flex;align-items:center;gap:16px;margin-bottom:22px;background:linear-gradient(180deg,#14100a,#0b0906);border:1px solid #3a2c12;border-radius:8px;padding:12px 20px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Courier New,monospace;box-shadow:inset 0 0 34px #ffb0000f}.countdown:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(rgba(0,0,0,.28) 0 1px,transparent 1px 3px)}.cd-digits{display:flex;gap:5px}.cd-digit{min-width:34px;text-align:center;padding:5px 8px;background:#ffb00012;border:1px solid rgba(255,176,0,.22);border-radius:4px;color:#ffb000;font-size:30px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 0 9px rgba(255,176,0,.75),0 0 22px rgba(255,176,0,.35)}.cd-label{color:#ffb000;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.19em;text-shadow:0 0 9px rgba(255,176,0,.45)}.cd-target{margin-left:auto;color:#ffb0009e;font-size:11px;text-transform:uppercase;letter-spacing:.14em;white-space:nowrap}.countdown.passed{border-color:#14401f}.countdown.passed .cd-digit{color:#3f6;background:#33ff6612;border-color:#33ff6638;text-shadow:0 0 9px rgba(51,255,102,.7),0 0 22px rgba(51,255,102,.3)}.countdown.passed .cd-label{color:#3f6;text-shadow:0 0 9px rgba(51,255,102,.45)}.countdown.passed .cd-target{color:#3f69}.est-grand{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}.est-table .est-cell{padding-top:3px;padding-bottom:3px}.est-table .est-cell .cell-input{text-align:right;font-variant-numeric:tabular-nums;font-size:13px;border:1px solid transparent;border-radius:6px;padding:4px 7px}.est-table .est-cell .cell-input:hover{border-color:var(--border)}.est-table .est-cell .cell-input:focus{border-color:var(--accent);background:var(--surface2)}.est-row-btn{background:none;border:none;padding:0;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;color:var(--text);text-align:left}.est-row-btn:hover{color:var(--accent);text-decoration:underline}.est-row-btn.on{color:var(--accent)}tr.est-detail-row td{padding:0;border-left:none;background:var(--surface2)}.est-detail{padding:9px 14px 11px;background:var(--surface2)}.est-detail-head{display:flex;align-items:baseline;gap:12px}.est-detail-head b{font-size:13px}.est-detail-amt{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;margin-left:auto}.est-detail-desc{font-size:12px;color:var(--text);margin-top:3px}.est-detail-note{font-size:12px;color:var(--text-dim);line-height:1.55;margin-top:5px;max-width:105ch}textarea.note-input{display:block;width:100%;resize:vertical;font-family:inherit;background:none;border:1px solid transparent;border-radius:6px;padding:2px 5px;margin:2px 0 0 -5px;line-height:1.4}textarea.note-input:hover{border-color:var(--border)}textarea.note-input:focus{outline:none;border-color:var(--accent);background:var(--surface);color:var(--text)}.est-detail-item+.est-detail-item{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.est-src{margin-top:9px;padding:9px 12px 10px;border-radius:8px;background:var(--surface);border:1px solid var(--border);max-width:105ch}.est-src+.est-src{margin-top:7px}.est-src-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.est-src-vendor{background:none;border:none;padding:0;cursor:pointer;font-family:inherit;font-size:12px;font-weight:700;color:var(--accent)}.est-src-vendor:hover{text-decoration:underline}.est-src-vendor:disabled{color:var(--text-dim);cursor:default;text-decoration:none}.est-src-ref{font-size:11px;color:var(--text-dim)}.est-src-lines{width:100%;margin-top:5px;border-collapse:collapse}.est-src-lines td{font-size:12px;color:var(--text-dim);padding:2px 0;border:none;line-height:1.45}.est-src-lines td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:14px}.est-src-lines td.when{color:var(--text-dim);white-space:nowrap;padding-left:14px;font-size:11px}.est-src-math{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text)}.est-src-basis{margin-top:4px;color:var(--text-dim);font-size:11px;font-weight:400}.est-src .est-src-head{margin-top:5px}.area-btn{background:none;border:none;padding:0;cursor:pointer;font:inherit;color:inherit}.area-btn:hover{color:var(--accent);text-decoration:underline}.area-btn.on{color:var(--accent)}.section-ref{margin-top:9px;padding-top:9px;border-top:1px solid var(--border)}.section-ref-head{display:flex;align-items:baseline;gap:12px;margin-bottom:6px}.section-ref-head h4{margin:0;font-size:14px}.section-ref-head .est-grand{margin-left:auto}.ref-build{margin-top:9px}.ref-build+.ref-build{margin-top:24px}.ref-build-head{display:flex;align-items:baseline;gap:12px;margin-bottom:5px}.ref-build-head .est-detail-amt{margin-left:0}.ref-scroll{max-height:420px;overflow:auto;border:1px solid var(--border);border-radius:8px}.ref-table{width:100%;min-width:760px;table-layout:fixed;border-collapse:collapse;font-size:12px}.ref-table td{height:28px;padding:5px 9px;vertical-align:middle;border:none;border-bottom:1px solid var(--border);line-height:1.35}.ref-table tr:not(.group) td:nth-child(1),.ref-table th:nth-child(1){width:116px}.ref-table tr:not(.group) td:nth-child(2),.ref-table th:nth-child(2){width:220px}.ref-table tr:not(.group) td:nth-child(4),.ref-table th:nth-child(4){width:128px}.ref-table tr.group td{height:28px;background:var(--surface2);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim)}.ref-table tr.ref-head-row th{height:28px;background:var(--surface);padding:5px 9px;vertical-align:middle;text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1.35;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--text-dim);border-bottom:1px solid var(--border);white-space:nowrap}.ref-table tr.ref-head-row th:hover{color:var(--accent)}.ref-table tr.ref-head-row th.on{color:var(--text)}.ref-table tr.ref-head-row th.num{text-align:right}.ref-caret{font-size:9px}.ref-table td.when{color:var(--text-dim);white-space:nowrap}.ref-table td.who{white-space:nowrap;font-weight:600}.ref-table td.memo{color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ref-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.ref-table.vendor-ref-table th{height:30px;padding:6px 16px;background:var(--surface);border-bottom:1px solid var(--border);vertical-align:middle}.ref-table.vendor-ref-table td{padding-left:16px;padding-right:16px}.vendor-ref-table .vendor-date-col{width:120px}.vendor-ref-table .vendor-amount-col{width:150px}.vendor-summary-row{cursor:pointer}.vendor-summary-row:hover td{background:#38bdf80f}.vendor-summary-row:focus{outline:2px solid var(--accent);outline-offset:-2px}.vendor-summary-row.open td{background:var(--surface2)}.vendor-summary-row .caret{display:inline-block;width:16px;color:var(--text-dim);font-size:10px}.vendor-summary-row td.who{color:var(--text);font-weight:700}.vendor-line-row td{background:color-mix(in srgb,var(--surface2) 55%,transparent)}.vendor-line-row td:first-child{padding-left:32px}.vendor-line-area{color:var(--accent);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.vendor-line-amount>span{vertical-align:middle}.vendor-line-amount .delete-actual{width:16px;margin-left:8px;vertical-align:middle;opacity:0}.delete-actual{color:var(--red);opacity:.65}.vendor-line-row:hover .delete-actual{opacity:1}.focus-bar{display:flex;align-items:baseline;gap:12px;margin:0 0 10px;padding:8px 12px;border-radius:8px;font-size:12px;background:var(--surface2);border-left:3px solid var(--accent);color:var(--text)}tr.src-hit td{background:color-mix(in srgb,var(--accent) 9%,transparent)}tr.src-hit td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.scenarios{display:flex;align-items:center;flex-wrap:wrap;margin-bottom:18px}.scenario-btns{display:flex;gap:8px;flex-wrap:wrap}.scenario-btn{display:flex;align-items:center;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:9px 18px;cursor:pointer;color:var(--text);font-family:inherit}.scenario-btn:hover{border-color:var(--accent)}.scenario-btn.on{border-color:var(--accent);background:var(--surface2)}.scenario-name{font-size:13px;font-weight:700}.scenario-btn.on .scenario-name{color:var(--accent)}.banner{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:8px;padding:14px 18px;margin-bottom:24px;line-height:1.5}.banner b{color:var(--text)}.muted{color:var(--text-dim)}.demo-pill{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--yellow);background:#fbbf241f;border:1px solid rgba(251,191,36,.3);padding:3px 9px;border-radius:20px;margin-left:8px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:26px}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px 18px;border-top:3px solid var(--c, var(--accent))}.card .label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.card .value{font-size:26px;font-weight:800;margin:6px 0 4px}.card .foot{font-size:12px;color:var(--text-dim)}.table-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:20px}.table-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);gap:12px;flex-wrap:wrap}.table-head h3{margin:0;font-size:15px}.scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:720px}.cmp-table{table-layout:fixed}.cmp-table th:first-child,.cmp-table td:first-child{width:24%}.cmp-table td{overflow:hidden;text-overflow:ellipsis}th,td{padding:9px 16px;text-align:left;font-size:13px;border-bottom:1px solid var(--border)}th{color:var(--text-dim);font-weight:600;font-size:11px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}tr.group td{background:#38bdf80f;color:var(--accent);font-weight:700;font-size:12px}tr.subtotal td{font-weight:700;border-top:1px solid var(--border)}tr.grand td{font-weight:800;font-size:14px;background:#38bdf80f}.lowest{color:var(--green);font-weight:700}.badge{font-size:11px;padding:2px 8px;border-radius:20px;white-space:nowrap}.badge.not_quoted{color:var(--text-dim);background:var(--surface2)}.badge.excluded{color:var(--red);background:#f871711f}.badge.included_elsewhere{color:var(--purple);background:#a78bfa1f}.flag{font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px;margin-left:8px}.flag.spread{color:var(--orange);background:#fb923c24}.flag.same{color:var(--text-dim);background:var(--surface2);font-weight:600}.grid-table{table-layout:fixed;min-width:860px}.grid-table th.trade-name{width:190px}.grid-table .area-col{width:auto;text-align:right}.grid-table th.trade-name,.grid-table th.sub-name{text-transform:none;letter-spacing:0;font-size:13px;color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis}.grid-table .caret{display:inline-block;width:14px;color:var(--text-dim);font-size:10px}.grid-cell{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;border-left:1px solid var(--grid-line)}.grid-table th,.grid-table td{border-bottom:1px solid var(--grid-line)}.grid-cell.total{font-weight:700}.grid-table tr.trade-row .grid-cell.total,.grid-table tfoot .grid-cell.total{background:#38bdf80d}.grid-table tr.group td{border-left:none}.grid-cell.need{background:#f8717112;color:var(--red)}.grid-cell.review{background:#fbbf241a;color:var(--yellow);font-weight:700}.grid-cell.accepted{background:#34d39924;color:var(--green);font-weight:700}.grid-cell.need .muted{color:var(--red);opacity:.5}.grid-cell.editable-summary{cursor:pointer}.grid-cell.editable-summary:focus{outline:2px solid var(--accent);outline-offset:-2px}.pw-note{text-align:left;font-size:11px;font-style:italic}.pw-body tr.group td{font-size:11px}tr.pw-foot th,tr.pw-foot td{border-top:none;padding-top:0;font-size:11px}tr.offer-sub th,tr.offer-sub td{background:var(--surface2);padding-top:5px;padding-bottom:5px}tr.offer-sub.alt th,tr.offer-sub.alt td{background:var(--surface)}.grid-table th.sub-name{padding-left:32px;font-size:12px;color:var(--text-dim);font-weight:500;white-space:nowrap}tr.offer-sub .offer-value,tr.offer-sub .cell-input{font-size:12px}tr.offer-sub .del-vendor{font-size:13px;margin-left:6px;opacity:0}tr.offer-sub:hover .del-vendor{opacity:1}.merged-detail-row .est-detail{border-left:none}.merged-basis-item{padding-left:0}.cost-options-table{width:100%;min-width:0;margin-top:7px;table-layout:fixed;border:1px solid var(--grid-line);border-radius:7px;border-collapse:separate;border-spacing:0;overflow:hidden;background:var(--surface)}.grid-table .cost-options-table th,.grid-table .cost-options-table td{height:34px;padding:8px 16px;border-right:1px solid var(--grid-line);border-bottom:1px solid var(--grid-line);font-size:12px;vertical-align:middle}.cost-options-table th:last-child,.cost-options-table td:last-child{border-right:none}.cost-options-table th{background:var(--surface2);color:var(--text-dim);font-size:10px}.cost-options-table th:nth-child(2),.cost-options-table td:nth-child(2){width:105px}.cost-options-table th:nth-child(3),.cost-options-table td:nth-child(3){width:150px}.cost-options-table tbody tr:last-child td{border-bottom:none}.cost-options-table tr.quote td{color:var(--yellow);background:color-mix(in srgb,var(--yellow) 4%,transparent)}.cost-options-table tr.accepted td{color:var(--green);font-weight:700;background:color-mix(in srgb,var(--green) 5%,transparent)}.cost-options-table tr.estimate td{color:var(--red);background:color-mix(in srgb,var(--red) 4%,transparent)}.cost-options-table td:first-child{font-weight:700}.cost-options-table .cell-input{color:var(--red);font-size:12px;font-weight:700;text-align:right;padding:3px 6px}.cost-notes{margin-top:8px;padding:7px 10px 8px;border:1px solid var(--border);border-radius:7px;background:var(--surface)}.cost-notes-label{display:block;color:var(--text-dim);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.cost-notes textarea.note-input{margin-top:3px}.offer-inner{display:flex;align-items:center;justify-content:flex-end;gap:5px}.offer-inner .offer-value,.offer-inner .cell-input{min-width:0;padding:3px 4px;border:1px solid transparent;border-radius:6px;text-align:right;font-variant-numeric:tabular-nums;line-height:19px}.offer-inner .cell-input:hover{border-color:var(--border)}.offer-inner .cell-input:focus{border-color:var(--accent);background:var(--surface2)}.grid-cell.offer.accepted .offer-value,.grid-cell.offer.accepted .cell-input{color:var(--green);font-weight:700}.accept-spacer{width:18px;flex:none}tr.offer-sub.addrow th,tr.offer-sub.addrow td{padding-top:2px;padding-bottom:7px;border-top:none}.grid-cell.addcell{text-align:center}.addbtn{font-size:14px;color:var(--text-dim);text-decoration:none;padding:0 6px}.addbtn:hover{color:var(--accent)}select.vendor-picker{width:auto;min-width:170px;border-color:var(--border);background:var(--surface2);font-size:12px;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;text-align:left}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none}.dot.need{background:var(--red)}.dot.review{background:var(--yellow)}.dot.accepted{background:var(--green)}.grid-table tr.trade-row{cursor:pointer}.grid-table tr.trade-row:hover th.trade-name{color:var(--accent)}.grid-table tr.trade-row:hover .grid-cell:not(.need):not(.review):not(.accepted){background:var(--surface2)}.grid-table tr.trade-row.open th.trade-name{color:var(--accent)}.grid-cell.offer,.grid-cell.addcell{cursor:default}.legend{display:flex;gap:12px;font-size:11px;color:var(--text-dim)}.legend-item{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.accept-btn{width:18px;height:18px;flex:none;line-height:1;padding:0;font-size:10px;border-radius:5px;cursor:pointer;background:transparent;border:1px solid var(--border);color:transparent}.accept-btn:hover{border-color:var(--green);color:var(--green)}.accept-btn.on{background:var(--green);border-color:var(--green);color:var(--bg)}.accept-btn.hide{visibility:hidden}.grid-table tfoot th{text-transform:none;letter-spacing:0;font-size:13px;color:var(--text)}tr.grand th,tr.grand td{font-weight:800;font-size:14px;background:#38bdf80f}tr.projected th,tr.projected td{font-size:12px;border-top:none;padding-top:2px}.btn.archived{opacity:.6;font-style:italic}.toggle{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle input{accent-color:var(--accent);width:15px;height:15px}.btn{background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:7px 12px;border-radius:7px;font-size:13px;cursor:pointer}.btn:hover{border-color:var(--accent)}.btn.active{border-color:var(--accent);color:var(--accent)}.btn.danger{color:var(--red)}.btn.danger:hover{border-color:var(--red);background:#f871711a}.table-actions{display:flex;gap:8px}.cell-input{width:100%;min-width:90px;background:transparent;border:1px solid transparent;color:var(--text);font-size:13px;font-variant-numeric:tabular-nums;text-align:right;padding:4px 6px;border-radius:6px}.cell-input.lowest{color:var(--green);font-weight:700}.vendor-head{display:inline-flex;align-items:center;gap:6px}.del-vendor{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:15px;line-height:1;padding:0 2px;border-radius:4px}.del-vendor:hover{color:var(--red)}.unit{color:var(--text-dim);font-weight:400;font-size:11px}.specs-table th,.specs-table td{text-align:left}.specs-table th:not(:first-child),.specs-table td:not(:first-child){text-align:right}.specs-table td:not(:first-child) .cell-input{text-align:right}.specs-table td{padding:4px 16px}.spec-label{color:var(--text-dim)}.specs-foot td{font-weight:700;border-top:1px solid var(--border);padding:10px 16px}.cell-input{width:100%;min-width:0;background:transparent;border:1px solid transparent;color:var(--text);font-size:13px;padding:5px 7px;border-radius:6px;font-family:inherit;text-align:left}.cell-input:hover{border-color:var(--border)}.cell-input:focus{outline:none;border-color:var(--accent);background:var(--surface2)}.cell-input::placeholder{color:var(--text-dim)}.cell-sub{font-size:11px;color:var(--text-dim);padding:0 7px 2px}td.num .cell-input{text-align:right;font-variant-numeric:tabular-nums}select.cell-input{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}select.cell-input option,select.cell-input optgroup{background:var(--surface);color:var(--text)}tr.addrow td{padding:6px 16px;border-bottom:1px solid var(--border)}.head-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.unit-switch{display:inline-flex;padding:2px;border:1px solid var(--border);border-radius:7px;background:var(--bg)}.unit-switch button{border:none;border-radius:5px;padding:5px 10px;background:transparent;color:var(--text-dim);font-family:inherit;font-size:11px;font-weight:700;line-height:1.2;cursor:pointer}.unit-switch button:hover{color:var(--text)}.unit-switch button.on{color:var(--accent);background:var(--surface2)}.edits-note{font-size:12px;margin:-10px 0 18px}.linkbtn{background:none;border:none;color:var(--accent);cursor:pointer;font-size:12px;padding:0;text-decoration:underline}.specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:22px}.spec{background:var(--surface);padding:12px 16px}.spec .k{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim)}.spec .v{font-size:14px;margin-top:4px}.spec .v.empty{color:var(--text-dim);font-style:italic}.quote-picker{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.detail-title{display:flex;align-items:center;gap:10px}.detail-title .btn{padding:5px 10px;font-size:12px}.todo-table{table-layout:fixed;min-width:900px}.todo-table th:first-child,.todo-table td:first-child{width:30px}.todo-table td.status-col{padding-right:0}.todo-table th:nth-child(2),.todo-table td:nth-child(2){width:280px}.todo-table th:nth-child(3),.todo-table td:nth-child(3){width:140px}.todo-table th:nth-child(4),.todo-table td:nth-child(4){width:160px}.todo-table td:nth-child(n+3){border-left:1px solid var(--border)}.todo-table tr.group td{border-left:none}.todo-table td,.todo-table th{padding-left:11px;padding-right:11px}.todo-table td{padding-top:7px;padding-bottom:7px;vertical-align:top}.trade-cell{line-height:1.4}.todo-empty{padding:22px 18px;margin:0;color:var(--text-dim);line-height:1.55;max-width:62ch}.todo-counts{display:flex;gap:14px;font-size:11px;color:var(--text-dim);flex-wrap:wrap}.tally{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.group-count{font-size:11px;color:var(--text-dim);font-weight:600}.action-pill{display:inline-block;font-size:11px;font-weight:700;padding:2px 9px;border-radius:20px;white-space:nowrap}.action-pill.need{color:var(--red);background:#f871711f}.action-pill.review{color:var(--yellow);background:#fbbf241f}.todo-table td.notes-col{padding:0;height:1px}.notes-input{display:block;width:100%;height:100%;resize:none;overflow:hidden;background:transparent;border:none;color:var(--text);font-family:inherit;font-size:13px;line-height:1.5;padding:9px 12px}.notes-input::placeholder{color:var(--text-dim)}.notes-input:hover{background:var(--surface2)}.notes-input:focus{outline:none;background:var(--surface2);box-shadow:inset 0 0 0 1px var(--accent)}.quote-document-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;color:var(--accent);cursor:pointer;font:inherit;font-weight:700;text-align:left;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:2px}.quote-document-link:hover,.quote-document-link:focus-visible{text-decoration-color:currentColor}.quote-document-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.quote-document-missing{color:var(--text)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0009;display:flex;align-items:center;justify-content:center;padding:24px}.modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:min(1000px,96vw);height:min(90vh,920px);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 70px #00000073}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}.modal-head h4{margin:0;font-size:14px}.modal-head-actions{display:flex;align-items:center;gap:12px}.modal-body{flex:1;min-height:0}.modal-body iframe{width:100%;height:100%;border:0;background:#fff}.amount-modal-backdrop{align-items:center}.amount-modal{width:min(420px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 24px 70px #00000073}.amount-modal-head{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border)}.amount-modal-head h4{margin:2px 0 0;font-size:15px}.amount-modal-kicker{color:var(--text-dim);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.amount-modal-body{padding:18px}.amount-modal-body label{display:block;margin-bottom:7px;color:var(--text-dim);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.amount-modal-input{width:100%;padding:10px 12px;color:var(--text);background:var(--surface2);border:1px solid var(--border);border-radius:8px;outline:none;text-align:right;font:700 20px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums}.amount-modal-input:focus{border-color:var(--accent)}.amount-next{width:100%;margin-top:14px}.amount-next:disabled,.amount-type:disabled{cursor:not-allowed;opacity:.45}.amount-kind-label{margin-top:16px}.amount-type-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.amount-type-actions.three{grid-template-columns:repeat(3,1fr)}.amount-type{display:flex;flex-direction:column;gap:3px;align-items:flex-start;padding:13px;border:1px solid var(--border);border-radius:9px;background:var(--surface2);color:var(--text);cursor:pointer;font-family:inherit}.amount-type span{font-size:13px;font-weight:700}.amount-type small{color:var(--text-dim);font-size:10px}.amount-type.estimate:hover{border-color:var(--red)}.amount-type.estimate span{color:var(--red)}.amount-type.quote:hover{border-color:var(--yellow)}.amount-type.quote span{color:var(--yellow)}.amount-type.accepted:hover{border-color:var(--green)}.amount-type.accepted span{color:var(--green)}.amount-type.selected.estimate{border-color:var(--red);background:#f8717114}.amount-type.selected.quote{border-color:var(--yellow);background:#fbbf2414}.amount-type.selected.accepted{border-color:var(--green);background:#34d39914}.amount-vendor-fields{margin-top:16px}.amount-modal-select,.amount-modal-vendor{width:100%;padding:9px 10px;color:var(--text);background:var(--surface2);border:1px solid var(--border);border-radius:8px;outline:none;font:inherit}.amount-modal-select:focus,.amount-modal-vendor:focus{border-color:var(--accent)}.amount-modal-vendor{margin-top:10px}.modal-close{background:var(--surface2);border:1px solid var(--border);color:var(--text);width:30px;height:30px;border-radius:7px;cursor:pointer;font-size:17px;line-height:1}.modal-close:hover{border-color:var(--accent);color:var(--accent)}
