.firm-os .os-select-control{background:var(--os-surface);border:1px solid var(--os-line-strong);max-width:100%;min-height:40px;color:var(--os-text-soft);font:inherit;text-align:left;cursor:pointer;border-radius:3px;justify-content:space-between;align-items:center;gap:16px;padding:9px 12px 9px 13px;font-size:13px;line-height:20px;transition:border-color .15s,background .15s;display:inline-flex;box-shadow:0 1px 2px #0002}.os-select-control>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.os-select-control>svg{color:var(--os-muted-strong);flex-shrink:0;transition:transform .15s}.firm-os .os-select-control:hover{background:var(--os-hover);border-color:var(--os-muted)}.firm-os .os-select-control[aria-expanded=true]{background:var(--os-hover);border-color:var(--os-accent)}.os-select-control[aria-expanded=true]>svg{transform:rotate(180deg)}.firm-os .os-select-control:focus-visible{outline:2px solid var(--os-accent);outline-offset:2px}.firm-os .os-sidebar-project .os-select-control{gap:10px;width:100%;padding-right:14px;font-size:12px}.os-select-menu{z-index:180;overscroll-behavior:contain;background:var(--os-surface);border:1px solid var(--os-line-strong);color:var(--os-text);box-sizing:border-box;border-radius:4px;padding:5px;font-family:Inter Variable,sans-serif;font-size:13px;position:fixed;overflow-y:auto;box-shadow:0 12px 36px #0007}.os-select-option{cursor:pointer;border-radius:2px;align-items:center;gap:12px;min-height:38px;padding:8px 10px;display:flex}.os-select-option>span{flex:1;min-width:0}.os-select-option strong{overflow-wrap:anywhere;font-size:13px;font-weight:450;line-height:20px;display:block}.os-select-option small{color:var(--os-muted);margin-top:2px;font-size:11px;line-height:17px;display:block}.os-select-option[data-highlighted=true]{background:var(--os-hover)}.os-select-option[aria-selected=true]{color:var(--os-accent)}.os-select-option[aria-selected=true] strong{font-weight:550}.os-select-option>svg{flex-shrink:0}.os-phase .os-select-control{gap:9px;max-width:158px;min-height:36px;padding:6px 10px;font-size:12px}@media (max-width:780px){.os-phase .os-select-control{max-width:115px;font-size:11px}}@media (prefers-reduced-motion:reduce){.os-select-control,.os-select-control>svg{transition:none!important}}
.firm-os .os-performance .os-section-head{align-items:flex-end}.firm-os .os-chart-legend{color:var(--os-muted-strong);gap:22px;margin-bottom:14px;font-size:13px}.firm-os .os-chart-legend .os-chart-key{background:0 0;border-top:3px solid #f2eee5;width:22px;height:0;display:inline-block}.firm-os .os-chart-legend .os-chart-key--cost{border-top-style:dashed;border-top-color:#c8aa72}.firm-os .os-chart-current{font-variant-numeric:tabular-nums;gap:9px}.firm-os .os-chart-current strong{color:var(--os-text)}.firm-os .os-chart-shell{border:1px solid var(--os-line);background:var(--os-sidebar);overflow:hidden}.firm-os .os-chart{width:100%;margin:0;padding:12px 12px 0 4px}.firm-os .os-chart>svg{width:100%;height:286px;overflow:visible}.firm-os .os-chart text{font-family:Inter Variable,Geist Variable,sans-serif}.firm-os .os-chart-grid{stroke:#3a3936;stroke-width:1px;shape-rendering:crispedges}.firm-os .os-chart-guide{stroke:#77736b;stroke-width:1px;stroke-dasharray:3 5}.firm-os .os-chart-axis-label,.firm-os .os-chart-month{fill:var(--os-muted-strong);font-variant-numeric:tabular-nums;font-size:15px}.firm-os .os-chart-unit{fill:var(--os-muted);letter-spacing:.02em;font-size:12px}.firm-os .os-chart-series{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.firm-os .os-chart-series--collections{stroke:#f2eee5;stroke-width:3px}.firm-os .os-chart-series--cost{stroke:#c8aa72;stroke-width:2.75px;stroke-dasharray:8 6}.firm-os .os-chart-point{cursor:pointer;outline:none}.firm-os .os-chart-hit{fill:#0000}.firm-os .os-chart-marker{vector-effect:non-scaling-stroke}.firm-os .os-chart-marker--collections{fill:var(--os-sidebar);stroke:#f2eee5;stroke-width:2.5px}.firm-os .os-chart-marker--cost{fill:#c8aa72;stroke:var(--os-sidebar);stroke-width:2px}.firm-os .os-chart-point[data-selected=true] .os-chart-marker,.firm-os .os-chart-point:focus-visible .os-chart-marker{stroke-width:4px}.firm-os .os-chart-point[data-selected=true] .os-chart-month,.firm-os .os-chart-point:focus-visible .os-chart-month{fill:var(--os-text);font-weight:600}.firm-os .os-chart-selection{border-top:1px solid var(--os-line);justify-content:space-between;align-items:center;gap:20px;min-height:68px;margin:0 18px;padding:13px 0 15px;display:flex}.firm-os .os-chart-selection>span{color:var(--os-text);font-size:14px;font-weight:550}.firm-os .os-chart-selection>div{gap:28px;display:flex}.firm-os .os-chart-selection div>span{color:var(--os-muted);gap:2px;font-size:12px;display:grid}.firm-os .os-chart-selection strong{color:var(--os-text);font-variant-numeric:tabular-nums;font-size:14px;font-weight:550}.firm-os .os-chart-data{border:1px solid var(--os-line);margin-top:12px;overflow-x:auto}.firm-os .os-chart-data table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.firm-os .os-chart-data th,.firm-os .os-chart-data td{border-bottom:1px solid var(--os-line);text-align:right;white-space:nowrap;height:36px;padding:7px 12px}.firm-os .os-chart-data thead th{color:var(--os-muted);font-size:12px;font-weight:450}.firm-os .os-chart-data th:first-child{text-align:left}.firm-os .os-chart-data tbody tr:last-child th,.firm-os .os-chart-data tbody tr:last-child td{border-bottom:0}.firm-os .os-chart-data tbody tr[data-selected=true]{background:var(--os-raised)}.firm-os .os-chart-data button{width:100%;color:var(--os-muted-strong);text-align:left;background:0 0;border:0;padding:1px 0}.firm-os .os-chart-data tr[data-selected=true] button,.firm-os .os-chart-data button:hover{color:var(--os-text)}@media (max-width:780px){.firm-os .os-chart-legend{flex-wrap:wrap;gap:10px 16px}.firm-os .os-chart-current{width:100%;margin-left:0;display:flex!important}.firm-os .os-chart{min-width:620px}.firm-os .os-chart-shell{overflow-x:auto}.firm-os .os-chart>svg{height:250px;min-height:250px}.firm-os .os-chart-selection{min-width:580px}}@media (max-width:520px){.firm-os .os-chart-selection{flex-direction:column;align-items:flex-start;gap:8px}}
.firm-os .os-project-workflow{border-top:1px solid var(--os-line);padding-top:28px}.firm-os .os-project-workflow>header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;display:flex}.firm-os .os-project-workflow h2{margin:0;font-size:16px;font-weight:550}.firm-os .os-project-workflow header p{color:var(--os-muted);margin:7px 0 0;font-size:13px}.firm-os .os-workflow-caption{color:var(--os-muted);letter-spacing:.1em;white-space:nowrap;gap:20px;font-size:12px;display:flex}.firm-os .os-workflow-caption>span{color:var(--os-text-soft);font-variant-numeric:tabular-nums}.firm-os .os-workflow-stages{border:1px solid var(--os-line-strong);grid-template-columns:repeat(6,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.firm-os .os-workflow-stages li{border-right:1px solid var(--os-line-strong);min-width:0}.firm-os .os-workflow-stages li:last-child{border-right:0}.firm-os .os-workflow-stages button{text-align:left;background:var(--os-surface);width:100%;height:100%;color:var(--os-text);cursor:pointer;border:0;border-radius:0;flex-direction:column;padding:20px 16px 0;transition:background .16s;display:flex}.firm-os .os-workflow-stages button:hover{background:var(--os-raised)}.firm-os .os-workflow-stages button:disabled{cursor:not-allowed;background:var(--os-surface)}.firm-os .os-workflow-stages button:disabled .os-workflow-action{color:var(--os-muted)}.firm-os .os-workflow-stages button:focus-visible{outline:2px solid var(--os-accent);outline-offset:-2px}.firm-os .os-workflow-stage-top{width:100%;color:var(--os-accent);justify-content:space-between;align-items:center;margin-bottom:26px;display:flex}.firm-os .os-workflow-stage-top>span{color:var(--os-muted);font-variant-numeric:tabular-nums;font-size:13px}.firm-os .os-workflow-stages strong{font-size:14px;font-weight:550;line-height:1.4}.firm-os .os-workflow-description{min-height:44px;color:var(--os-muted);margin-top:7px;font-size:12px;line-height:1.6}.firm-os .os-workflow-status{color:var(--os-muted);align-items:center;gap:7px;margin:18px 0;font-size:13px;line-height:1.5;display:flex}.firm-os .os-workflow-status i{background:var(--os-muted);border-radius:50%;flex-shrink:0;width:5px;height:5px}.firm-os .os-workflow-status[data-ready=true] i{background:#81b99d}.firm-os .os-workflow-action{border-top:1px solid var(--os-line-strong);width:100%;color:var(--os-text-soft);justify-content:space-between;align-items:center;gap:6px;margin-top:auto;padding:14px 0;font-size:13px;display:flex}.firm-os .os-workflow-action svg{flex-shrink:0}@media (max-width:1100px){.firm-os .os-workflow-stages{grid-template-columns:1fr}.firm-os .os-workflow-stages li{border-right:0;border-bottom:1px solid var(--os-line-strong)}.firm-os .os-workflow-stages li:last-child{border-bottom:0}.firm-os .os-workflow-stages button{grid-template-columns:44px minmax(120px,1fr) minmax(130px,1fr) 130px;align-items:center;gap:6px 16px;padding:18px;display:grid}.firm-os .os-workflow-stage-top{grid-row:1/3;margin:0}.firm-os .os-workflow-stage-top>span{display:none}.firm-os .os-workflow-description{grid-column:2;min-height:0;margin:0}.firm-os .os-workflow-status{grid-area:1/3/3;margin:0}.firm-os .os-workflow-action{border:0;grid-area:1/4/3;margin:0;padding:0}}@media (max-width:640px){.firm-os .os-workflow-caption{display:none}.firm-os .os-workflow-stages button{grid-template-columns:28px minmax(0,1fr)}.firm-os .os-workflow-status{grid-area:3/2;margin-top:6px}.firm-os .os-workflow-action{border-top:1px solid var(--os-line);grid-area:4/2;margin-top:8px;padding-top:10px}}.firm-os .os-workflow-stages li[data-current=true] button{background:var(--os-raised);box-shadow:inset 0 2px var(--os-accent)}.firm-os .os-workflow-stages li[data-current=true] .os-workflow-stage-top>span{color:var(--os-accent)}.firm-os .os-workflow-action{min-height:48px}@media (min-width:1101px) and (max-width:1350px){.firm-os .os-workflow-stages button{padding-inline:12px}.firm-os .os-workflow-action{align-items:flex-start}}
.firm-os .os-module-heading{border-bottom:1px solid var(--os-line);flex-wrap:wrap;align-items:baseline;gap:10px 24px;margin-bottom:24px;padding:0 0 20px;display:flex}.firm-os .os-module-heading h2{margin:0;font-size:16px;font-weight:550}.firm-os .os-revision-note{color:var(--os-warn,#d8ba83);max-width:70ch;font-size:13px}.firm-os .os-project-action{border:1px solid var(--os-line-strong);background:var(--os-surface);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);margin-bottom:24px;display:grid}.firm-os .os-project-action-main{padding:28px}.firm-os .os-project-action-main h2{letter-spacing:-.025em;margin:0;font-size:25px;font-weight:550}.firm-os .os-project-action-main p{color:var(--os-muted);max-width:48ch;margin:10px 0 24px;font-size:14px;line-height:1.6}.firm-os .os-project-action dl{border-left:1px solid var(--os-line);align-content:center;gap:16px;margin:0;padding:24px 28px;display:grid}.firm-os .os-project-action dl>div{justify-content:space-between;gap:18px;font-size:13px;display:flex}.firm-os .os-project-action dt{color:var(--os-muted)}.firm-os .os-project-action dd{text-align:right;margin:0}.firm-os .os-project-action dd[data-risk=true]{color:#d8ba83}.firm-os .os-project-facts{border-bottom:1px solid var(--os-line);grid-template-columns:220px minmax(0,1fr);gap:24px;padding-block:0 24px;display:grid}.firm-os .os-project-facts>img{object-fit:cover;width:100%;height:160px}.firm-os .os-project-facts[data-intake=true]>img{object-fit:contain;filter:grayscale()contrast(1.04);background:#f1efe8;padding:8px}.firm-os .os-project-facts h2{margin:0 0 16px;font-size:16px;font-weight:550}.firm-os .os-project-facts dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px;margin:0;display:grid}.firm-os .os-project-facts dt{color:var(--os-muted);margin-bottom:4px;font-size:12px}.firm-os .os-project-facts dd{margin:0;font-size:14px}.firm-os .os-project-facts p{color:var(--os-muted);margin:16px 0 0;font-size:12px}.firm-os .os-chart-breakdown{margin-top:12px}.firm-os .os-chart-breakdown summary{color:var(--os-text-soft);cursor:pointer;padding:12px 0;font-size:13px}.firm-os .os-chart-breakdown summary:focus-visible{outline:2px solid var(--os-accent);outline-offset:4px}@media (max-width:1100px){.firm-os .os-project-action{grid-template-columns:1fr}.firm-os .os-project-action dl{border-left:0;border-top:1px solid var(--os-line);grid-template-columns:repeat(2,minmax(0,1fr))}.firm-os .os-project-action dl>div{flex-direction:column;gap:5px}.firm-os .os-project-action dd{text-align:left}}@media (max-width:640px){.firm-os .os-project-action-main,.firm-os .os-project-action dl{padding:20px}.firm-os .os-project-action-main h2{font-size:22px}.firm-os .os-project-facts{grid-template-columns:1fr}.firm-os .os-project-facts>img{height:150px}.firm-os .os-project-facts dl{gap:16px}}
.firm-os .ops-table-panel{min-width:0;overflow:hidden}.firm-os .ops-table-scroll{overscroll-behavior-inline:contain;max-width:100%;overflow:auto hidden}.firm-os .ops-data-table{table-layout:fixed;white-space:normal;min-width:900px}.firm-os .ops-data-table th{vertical-align:bottom;line-height:1.35}.firm-os .ops-data-table td{vertical-align:top}.firm-os .ops-data-table .ops-spec-cell{width:38%;padding-right:28px}.firm-os .ops-spec-cell strong,.firm-os .ops-spec-cell small,.firm-os .ops-basis-cell strong,.firm-os .ops-basis-cell small,.firm-os .ops-money-cell strong,.firm-os .ops-money-cell small{display:block}.firm-os .ops-spec-cell strong,.firm-os .ops-basis-cell strong{line-height:1.4}.firm-os .ops-spec-cell small,.firm-os .ops-basis-cell small,.firm-os .ops-money-cell small{color:var(--os-muted);margin-top:5px;font-size:12px;font-weight:400;line-height:1.45}.firm-os .ops-money-cell{white-space:nowrap}.firm-os .ops-money-cell strong{color:var(--os-text);font-variant-numeric:tabular-nums;font-weight:550}.firm-os .ops-markup-cell{white-space:nowrap}.firm-os .ops-data-table.ops-material-table{min-width:680px}.firm-os .ops-material-table th:first-child,.firm-os .ops-material-table td:first-child{width:50%}.firm-os .ops-material-table th:nth-child(2),.firm-os .ops-material-table td:nth-child(2),.firm-os .ops-material-table th:nth-child(3),.firm-os .ops-material-table td:nth-child(3){width:25%}.firm-os .ops-assembly-table th:first-child,.firm-os .ops-assembly-table td:first-child{width:36%}.firm-os .ops-assembly-table th:nth-child(2),.firm-os .ops-assembly-table td:nth-child(2){width:15%}.firm-os .ops-assembly-table th:nth-child(3),.firm-os .ops-assembly-table td:nth-child(3),.firm-os .ops-assembly-table th:nth-child(4),.firm-os .ops-assembly-table td:nth-child(4){width:19%}.firm-os .ops-assembly-table th:nth-child(5),.firm-os .ops-assembly-table td:nth-child(5){width:11%}@media (max-width:780px){.firm-os .ops-data-table{min-width:820px}.firm-os .ops-data-table .ops-spec-cell{padding-right:20px}}
.firm-os .estimator-shell{gap:24px;min-width:0;display:grid}.firm-os .estimator-flow{border-block:1px solid var(--os-line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.firm-os .estimator-flow-step{min-height:68px;color:var(--os-muted);text-align:left;border:0;border-right:1px solid var(--os-line);cursor:pointer;background:0 0;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:10px;padding:11px 16px;display:grid;position:relative}.firm-os .estimator-flow-step:last-child{border-right:0}.firm-os .estimator-flow-step:after{content:"";background:0 0;height:2px;position:absolute;bottom:-1px;left:14px;right:14px}.firm-os .estimator-flow-step:hover{color:var(--os-text);background:color-mix(in srgb, var(--os-raised) 54%, transparent)}.firm-os .estimator-flow-step:disabled{color:color-mix(in srgb, var(--os-muted) 45%, transparent);cursor:not-allowed}.firm-os .estimator-flow-step:disabled:hover{color:color-mix(in srgb, var(--os-muted) 45%, transparent);background:0 0}.firm-os .estimator-flow-step:focus-visible{z-index:1;outline:1px solid var(--os-accent);outline-offset:-1px}.firm-os .estimator-flow-step[data-active=true]{color:var(--os-text);background:var(--os-surface)}.firm-os .estimator-flow-step[data-active=true]:after{background:var(--os-accent)}.firm-os .estimator-flow-step[data-complete=true] .estimator-flow-index{color:var(--os-good)}.firm-os .estimator-flow-index{color:var(--os-accent);font-variant-numeric:tabular-nums;font-size:12px}.firm-os .estimator-flow-step strong,.firm-os .estimator-flow-step small{display:block}.firm-os .estimator-flow-step strong{color:inherit;margin-bottom:3px;font-size:14px;font-weight:580}.firm-os .estimator-flow-step small{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:400;overflow:hidden}.firm-os .estimator-upload{grid-template-columns:minmax(300px,.82fr) minmax(400px,1.18fr);min-height:510px;padding:0;display:grid;overflow:hidden}.firm-os .estimator-upload-copy{border-right:1px solid var(--os-line);flex-direction:column;justify-content:center;align-items:flex-start;padding:32px 26px;display:flex}.firm-os .estimator-upload-copy h2{max-width:490px;color:var(--os-text);letter-spacing:-.04em;margin:20px 0 14px;font-size:clamp(28px,3.2vw,46px);font-weight:510;line-height:1.04}.firm-os .estimator-upload-copy>p{max-width:480px;color:var(--os-muted);margin:0;font-size:14px;line-height:1.65}.firm-os .estimator-file-actions{flex-wrap:wrap;gap:8px;margin-top:30px;display:flex}.firm-os .estimator-file-actions label{cursor:pointer}.firm-os .estimator-file-input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.firm-os .estimator-file-actions label:focus-within{outline:1px solid var(--os-accent);outline-offset:2px}.firm-os .estimator-dry-run-link{padding-inline:4px}.firm-os .estimator-engine-picker{border:0;gap:8px;margin:18px 0 0;padding:0;display:grid}.firm-os .estimator-engine-picker legend{letter-spacing:.08em;text-transform:uppercase;color:var(--os-muted);margin-bottom:8px;font-size:11px}.firm-os .estimator-engine-picker label{border:1px solid var(--os-line-strong);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.firm-os .estimator-engine-picker label[data-active=true]{border-color:var(--os-accent);background:#ffffff08}.firm-os .estimator-engine-picker label[data-unavailable]{opacity:.55;cursor:not-allowed}.firm-os .estimator-engine-picker input{flex:none;margin-top:3px}.firm-os .estimator-engine-picker span{gap:4px;display:grid}.firm-os .estimator-engine-picker strong{font-size:13px;font-weight:600}.firm-os .estimator-engine-picker small{color:var(--os-muted);font-size:12px;line-height:1.45}.firm-os .estimator-engine-picker:disabled label{cursor:default;opacity:.7}.firm-os .estimator-engine-picker[data-layout=models]{grid-template-columns:1fr 1fr}@media (max-width:720px){.firm-os .estimator-engine-picker[data-layout=models]{grid-template-columns:1fr}}.firm-os .estimator-upload-copy .estimator-supported{letter-spacing:.045em;margin-top:16px;font-size:12px}.firm-os .estimator-analysis{background:var(--os-surface);flex-direction:column;justify-content:center;padding:38px clamp(24px,4vw,56px);display:flex;position:relative;overflow:hidden}.firm-os .estimator-analysis[data-running=true]:after{pointer-events:none;content:"";background:linear-gradient(110deg, transparent 32%, color-mix(in srgb, var(--os-accent) 8%, transparent) 48%, transparent 64%);animation:3.2s ease-in-out infinite estimator-analysis-scan;position:absolute;inset:0;transform:translate(-110%)}.firm-os .estimator-file-row{border-block:1px solid var(--os-line);grid-template-columns:62px minmax(0,1fr);gap:12px;padding:13px 0;font-size:12px;display:grid}.firm-os .estimator-file-row span{color:var(--os-muted)}.firm-os .estimator-file-row strong{color:var(--os-text);text-overflow:ellipsis;white-space:nowrap;font-weight:520;overflow:hidden}.firm-os .estimator-analysis-head{justify-content:space-between;align-items:flex-end;gap:18px;margin-top:28px;display:flex}.firm-os .estimator-analysis-head h3{color:var(--os-text);margin:0 0 6px;font-size:17px;font-weight:560}.firm-os .estimator-analysis-head p{color:var(--os-muted);margin:0;font-size:12px}.firm-os .estimator-progress-value{color:var(--os-accent);font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-size:23px}.firm-os .estimator-progress-track{background:var(--os-line);height:2px;margin:14px 0 18px;overflow:hidden}.firm-os .estimator-progress-track span{background:var(--os-accent);height:100%;transition:width .45s;display:block}.firm-os .estimator-analysis[data-running=true] .estimator-progress-track span{background:linear-gradient(90deg, var(--os-accent), color-mix(in srgb, var(--os-accent) 45%, white), var(--os-accent));background-size:180% 100%;animation:1.8s linear infinite estimator-progress-flow}.firm-os .estimator-thinking{z-index:1;min-height:48px;color:var(--os-text-soft);background:color-mix(in srgb, var(--os-accent) 4%, transparent);border-left:2px solid color-mix(in srgb, var(--os-accent) 55%, transparent);grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;margin:-2px 0 12px;padding:8px 10px;display:grid;position:relative}.firm-os .estimator-thinking>span{justify-content:center;gap:3px;display:flex}.firm-os .estimator-thinking>span i{background:var(--os-accent);border-radius:50%;width:4px;height:4px;animation:1.2s ease-in-out infinite estimator-thinking-dot}.firm-os .estimator-thinking>span i:nth-child(2){animation-delay:.15s}.firm-os .estimator-thinking>span i:nth-child(3){animation-delay:.3s}.firm-os .estimator-thinking div{gap:2px;min-width:0;display:grid}.firm-os .estimator-thinking small{color:var(--os-muted);letter-spacing:.08em;text-transform:uppercase;font-size:9px}.firm-os .estimator-thinking p{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:11px;line-height:1.35;overflow:hidden}.firm-os .estimator-analysis-list{border-top:1px solid var(--os-line);gap:0;margin:0;padding:0;list-style:none;display:grid}.firm-os .estimator-analysis-list li{min-height:43px;color:var(--os-muted);border-bottom:1px solid var(--os-line);grid-template-columns:30px minmax(0,1fr);align-items:center;font-size:14px;display:grid}.firm-os .estimator-analysis-list li span{color:var(--os-muted);font-variant-numeric:tabular-nums;font-size:12px}.firm-os .estimator-analysis-list li[data-complete=true]{color:var(--os-text)}.firm-os .estimator-analysis-list li[data-complete=true] span{color:var(--os-good)}.firm-os .estimator-analysis-list li[data-current=true]{color:var(--os-accent)}.firm-os .estimator-analysis-list li{padding:8px 0}.firm-os .estimator-analysis-list li small{color:var(--os-muted);font-variant-numeric:tabular-nums;margin-top:2px;font-size:12px;display:block}.firm-os .estimator-analysis-list li[data-failed=true],.firm-os .estimator-analysis-list li[data-failed=true] span,.firm-os .estimator-analysis-list li[data-failed=true] small{color:var(--os-danger)}.firm-os .estimator-analysis-list li[data-current=true] span{animation:1.4s ease-in-out infinite estimator-current-check}@keyframes estimator-analysis-scan{0%,18%{transform:translate(-110%)}72%,to{transform:translate(110%)}}@keyframes estimator-progress-flow{to{background-position:-180% 0}}@keyframes estimator-thinking-dot{0%,70%,to{opacity:.3;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}@keyframes estimator-current-check{0%,to{opacity:.45}50%{opacity:1}}.firm-os .estimator-analysis-actions{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.firm-os .estimator-analysis-error{color:var(--os-danger);margin:14px 0 0;font-size:12px;line-height:1.55}.firm-os .estimator-real-result{gap:22px;min-width:0;display:grid}.firm-os .estimator-real-header{border-bottom:1px solid var(--os-line);justify-content:space-between;align-items:center;gap:24px;padding:0 0 18px;display:flex}.firm-os .estimator-real-header h2{color:var(--os-text);letter-spacing:-.01em;margin:0;font-size:14px;font-weight:580}.firm-os .estimator-real-header p,.firm-os .estimator-real-floor-head p,.firm-os .estimator-real-gate>div>p{color:var(--os-muted);margin:0;font-size:12px;line-height:1.55}.firm-os .estimator-real-status-copy{gap:6px;min-width:0;display:grid}.firm-os .estimator-real-status-copy>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.firm-os .estimator-real-status-copy p{overflow-wrap:anywhere}.firm-os .estimator-real-header-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.firm-os .estimator-real-summary{border-block:1px solid var(--os-line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.firm-os .estimator-real-summary>div{border-right:1px solid var(--os-line);gap:7px;min-width:0;padding:17px 20px;display:grid}.firm-os .estimator-real-summary>div:first-child{padding-left:0}.firm-os .estimator-real-summary>div:last-child{border-right:0}.firm-os .estimator-real-summary span,.firm-os .estimator-real-summary small{color:var(--os-muted);font-size:12px}.firm-os .estimator-real-summary strong{color:var(--os-text);letter-spacing:-.03em;font-size:25px;font-weight:480}.firm-os .estimator-real-summary [data-attention=true] strong{color:var(--os-warn)}.firm-os .estimator-real-summary>.estimator-real-summary-action{text-align:left;background:0 0;border:0;gap:7px;min-width:0;padding:17px 20px;display:grid}.firm-os .estimator-real-summary-action:hover{background:var(--os-hover)}.firm-os .estimator-real-summary-action small{color:var(--os-link);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--os-line-strong);text-decoration-color:var(--os-line-strong)}.firm-os .estimator-real-summary-action[aria-expanded=true]{background:var(--os-raised)}.firm-os .estimator-review-queue{background:var(--os-ai-surface);border:1px solid var(--os-ai-line);margin-top:18px}.firm-os .estimator-review-queue>header{justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 22px 14px;display:flex}.firm-os .estimator-review-queue>header p{color:var(--os-muted);font-size:12px}.firm-os .estimator-review-queue-progress{background:var(--os-ai-line);height:2px}.firm-os .estimator-review-queue-progress span{background:var(--os-good);height:100%;transition:width .3s;display:block}.firm-os .estimator-review-queue-body{grid-template-columns:minmax(220px,300px) minmax(0,1fr);min-height:320px;display:grid}.firm-os .estimator-review-checklist{border-right:1px solid var(--os-ai-line);max-height:440px;margin:0;padding:0;list-style:none;overflow-y:auto}.firm-os .estimator-review-checklist button{text-align:left;border:0;border-bottom:1px solid var(--os-ai-line);background:0 0;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:11px;width:100%;padding:11px 22px;display:grid}.firm-os .estimator-review-checklist button:hover{background:var(--os-ai-raised)}.firm-os .estimator-review-checklist button[data-active=true]{background:var(--os-ai-raised);box-shadow:inset 2px 0 0 var(--os-accent)}.firm-os .estimator-review-check{width:16px;height:16px;color:var(--os-bg);border:1px solid var(--os-warn);border-radius:2px;place-items:center;margin-top:2px;font-size:11px;display:grid}.firm-os .estimator-review-checklist button[data-resolved=true] .estimator-review-check{background:var(--os-good);border-color:var(--os-good)}.firm-os .estimator-review-checklist-copy{gap:2px;min-width:0;display:grid}.firm-os .estimator-review-checklist-copy strong{color:var(--os-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.firm-os .estimator-review-checklist button[data-resolved=true] strong{color:var(--os-muted)}.firm-os .estimator-review-checklist-copy small{color:var(--os-muted);font-variant-numeric:tabular-nums;font-size:12px}.firm-os .estimator-review-chat{flex-direction:column;gap:14px;min-width:0;padding:20px 22px;display:flex}.firm-os .estimator-review-plan{background:var(--os-bg);border:1px solid var(--os-ai-line);margin:0}.firm-os .estimator-review-plan svg{background:#f4f1ea;width:100%;height:auto;max-height:360px;display:block}.firm-os .estimator-review-plan-wall{stroke:#2b2a27;stroke-width:2px;vector-effect:non-scaling-stroke}.firm-os .estimator-review-plan-dim{fill:#1212118c;pointer-events:none}.firm-os .estimator-review-plan-active polygon{fill:#e8b16229;stroke:var(--os-warn);stroke-width:3px;vector-effect:non-scaling-stroke;animation:1.8s ease-in-out infinite estimator-review-pulse}.firm-os .estimator-review-plan-active[data-resolved=true] polygon{fill:#6fbf8b29;stroke:var(--os-good);animation:none}.firm-os .estimator-review-plan-active circle{fill:var(--os-warn)}.firm-os .estimator-review-plan-active[data-resolved=true] circle{fill:var(--os-good)}.firm-os .estimator-review-plan-active text{fill:#1a1917;pointer-events:none;font-weight:650}.firm-os .estimator-review-plan-other{cursor:pointer}.firm-os .estimator-review-plan-other polygon{fill:#0000;stroke:#e8b162b3;stroke-width:1.5px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}.firm-os .estimator-review-plan-other[data-resolved=true] polygon{stroke:#6fbf8bb3}.firm-os .estimator-review-plan-other:hover polygon,.firm-os .estimator-review-plan-other:focus-visible polygon{fill:#e8b1621f;stroke-dasharray:none}.firm-os .estimator-review-plan-other circle{fill:#1a1917;stroke:var(--os-warn);stroke-width:1.5px;vector-effect:non-scaling-stroke}.firm-os .estimator-review-plan-other[data-resolved=true] circle{stroke:var(--os-good)}.firm-os .estimator-review-plan-other text{fill:var(--os-text);pointer-events:none}.firm-os .estimator-review-plan figcaption{color:var(--os-muted);border-top:1px solid var(--os-ai-line);justify-content:space-between;gap:12px;padding:8px 12px;font-size:12px;display:flex}.firm-os .estimator-review-plan figcaption span{align-items:center;gap:7px;display:inline-flex}.firm-os .estimator-review-plan figcaption i{border:2px solid var(--os-warn);border-radius:2px;width:10px;height:10px}.firm-os .estimator-review-plan figcaption strong{color:var(--os-text);font-weight:500}@keyframes estimator-review-pulse{0%,to{stroke-opacity:1}50%{stroke-opacity:.45}}@media (prefers-reduced-motion:reduce){.firm-os .estimator-review-plan-active polygon{animation:none}}.firm-os .estimator-review-thread{flex:1;align-content:start;gap:10px;display:grid}.firm-os .estimator-review-bubble{background:var(--os-ai-raised);border:1px solid var(--os-ai-line);border-radius:3px;max-width:560px;padding:11px 14px;font-size:13px}.firm-os .estimator-review-bubble small{color:var(--os-ai-label-text);letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px;font-size:11px;display:block}.firm-os .estimator-review-bubble strong{color:var(--os-text);font-weight:550}.firm-os .estimator-review-bubble[data-from=you]{color:var(--os-accent-foreground);background:var(--os-accent);border-color:var(--os-accent);justify-self:end}.firm-os .estimator-review-bubble details{color:var(--os-muted);margin-top:8px;font-size:12px}.firm-os .estimator-review-bubble summary{color:var(--os-link);cursor:pointer}.firm-os .estimator-review-bubble details p{margin-top:4px}.firm-os .estimator-review-replies{flex-wrap:wrap;gap:8px;display:flex}.firm-os .estimator-review-replies>button:not(.os-button){min-height:34px;color:var(--os-text);border:1px solid var(--os-line-strong);background:0 0;border-radius:3px;padding:6px 12px;font-size:13px}.firm-os .estimator-review-replies>button:not(.os-button):hover{background:var(--os-ai-raised);border-color:var(--os-accent)}.firm-os .estimator-review-replies>button[data-tone=danger]{color:var(--os-danger)}.firm-os .estimator-review-replies>button[data-tone=quiet]{color:var(--os-link);border-color:#0000}.firm-os .estimator-review-compose{gap:8px;display:flex}.firm-os .estimator-review-compose input{min-width:0;height:38px;color:var(--os-text);background:var(--os-bg);border:1px solid var(--os-line-strong);border-radius:3px;flex:1;padding:0 12px;font-size:14px}.firm-os .estimator-review-compose input:focus{border-color:var(--os-accent);outline:none}@media (max-width:760px){.firm-os .estimator-review-queue-body{grid-template-columns:1fr}.firm-os .estimator-review-checklist{border-right:0;border-bottom:1px solid var(--os-ai-line);max-height:220px}}.firm-os .estimator-real-previews{background:var(--os-surface);border:1px solid var(--os-line);min-width:0;padding:22px}.firm-os .estimator-real-preview-grid{grid-template-columns:minmax(0,1.65fr) minmax(250px,.8fr);gap:16px;display:grid}.firm-os .estimator-drawing-view-switch{background:var(--os-bg);border:1px solid var(--os-line-strong);flex-shrink:0;padding:3px;display:inline-flex}.firm-os .estimator-drawing-view-switch button{min-height:32px;color:var(--os-muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 12px;font-size:12px}.firm-os .estimator-drawing-view-switch button[data-active=true]{color:var(--os-text);background:var(--os-raised)}.firm-os .estimator-drawing-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.firm-os .estimator-area-tool[data-active=true]{color:var(--os-text);background:var(--os-raised);border-color:var(--os-accent)}.firm-os .estimator-floor-switcher-shell{border:1px solid var(--os-line-strong);align-items:stretch;margin:18px 0 16px;display:flex}.firm-os .estimator-floor-switcher{overscroll-behavior-inline:contain;scroll-snap-type:inline proximity;scrollbar-width:thin;flex:auto;grid-auto-columns:minmax(min(230px,75vw),1fr);grid-auto-flow:column;min-width:0;display:grid;overflow-x:auto}.firm-os .estimator-floor-step{color:var(--os-text);font:inherit;background:var(--os-bg);cursor:pointer;border:0;flex:0 0 42px;font-size:17px}.firm-os .estimator-floor-step:first-child{border-right:1px solid var(--os-line)}.firm-os .estimator-floor-step:last-child{border-left:1px solid var(--os-line)}.firm-os .estimator-floor-step:hover:not(:disabled){background:var(--os-raised)}.firm-os .estimator-floor-step:disabled{color:var(--os-line-strong);cursor:not-allowed}.firm-os .estimator-floor-switcher button{scroll-snap-align:start;min-height:60px;color:var(--os-text);text-align:left;background:var(--os-bg);border:0;border-right:1px solid var(--os-line);cursor:pointer;grid-template-columns:26px minmax(0,1fr);gap:3px 10px;padding:11px 14px;display:grid}.firm-os .estimator-floor-switcher button:last-child{border-right:0}.firm-os .estimator-floor-switcher button:hover{background:var(--os-raised)}.firm-os .estimator-floor-switcher button[data-active=true]{background:var(--os-raised);box-shadow:inset 0 -2px var(--os-text)}.firm-os .estimator-floor-switcher span{color:var(--os-muted);grid-row:1/3;font-size:11px}.firm-os .estimator-floor-switcher strong{font-size:12px;font-weight:560}.firm-os .estimator-floor-switcher small{color:var(--os-muted);font-size:10px}.firm-os .estimator-ledger .estimator-location-switcher{margin-top:4px}.firm-os .estimator-location-note{color:var(--os-muted);margin:0 0 12px;font-size:12px;line-height:1.5}.firm-os .estimator-location-empty{color:var(--os-muted);border-bottom:1px solid var(--os-line);margin:0;padding:16px 13px;font-size:13px;line-height:1.5}.firm-os .estimator-list-axis{margin-right:2px}.firm-os .estimator-normalized-layout{grid-template-columns:minmax(0,1.55fr) minmax(250px,.55fr);gap:16px;display:grid}.firm-os .estimator-normalized-canvas{border:1px solid var(--os-line-strong);background:#1d2026;min-width:0;margin:0;overflow:hidden}.firm-os .estimator-normalized-canvas>div{place-items:center;height:620px;padding:18px;display:grid;position:relative}.firm-os .estimator-plan-loading{z-index:2;text-align:center;color:var(--os-text);background:#1d2026;place-content:center;justify-items:center;gap:6px;padding:24px;display:grid;position:absolute;inset:0}.firm-os .estimator-plan-loading .os-ai-loading{margin:0 0 6px}.firm-os .estimator-plan-loading strong{font-size:13px;font-weight:500}.firm-os .estimator-plan-loading small{color:var(--os-muted);font-size:11px}.firm-os .estimator-source-overlay svg[data-ready=false],.firm-os .estimator-normalized-canvas img[data-ready=false]{opacity:0}.firm-os .estimator-source-overlay svg,.firm-os .estimator-normalized-canvas img{transition:opacity .25s}.firm-os .estimator-normalized-canvas>.estimator-source-overlay{background:#f1efe8;padding:0;overflow:hidden}.firm-os .estimator-source-overlay svg{touch-action:none;background:#f1efe8;width:100%;height:100%;display:block}.firm-os .estimator-source-overlay[data-grab=true] svg{cursor:grab}.firm-os .estimator-source-overlay[data-drawing=true] svg{cursor:crosshair;touch-action:none}.firm-os .estimator-plan-hotspot,.firm-os .estimator-plan-region{cursor:pointer;outline:none}.firm-os .estimator-plan-region polygon{fill:#277ef509;stroke:#135cc6b3;stroke-width:1.5px;vector-effect:non-scaling-stroke;transition:fill .14s,stroke .14s}.firm-os .estimator-plan-hotspot circle{fill:#1769d2;stroke:#fff;stroke-width:1.25px;vector-effect:non-scaling-stroke}.firm-os .estimator-plan-hotspot text{fill:#fff;pointer-events:none;font-size:.18px;font-weight:700}.firm-os .estimator-plan-region[data-status=review] polygon{fill:#be742014;stroke:#a96116;stroke-dasharray:5 4}.firm-os .estimator-plan-hotspot[data-status=review] circle{fill:#a96116}.firm-os .estimator-plan-region:hover polygon,.firm-os .estimator-plan-region:focus polygon,.firm-os .estimator-plan-region[data-active=true] polygon{fill:#277ef52b;stroke:#075fca;stroke-width:2.5px}.firm-os .estimator-plan-region[data-status=review]:hover polygon,.firm-os .estimator-plan-region[data-status=review]:focus polygon,.firm-os .estimator-plan-region[data-status=review][data-active=true] polygon{fill:#be742033;stroke:#8d4c09}.firm-os .estimator-plan-hotspot:hover circle,.firm-os .estimator-plan-hotspot:focus circle,.firm-os .estimator-plan-hotspot[data-active=true] circle{stroke:#101317;stroke-width:2.5px}.firm-os .estimator-manual-area{cursor:pointer;outline:none}.firm-os .estimator-manual-area rect,.firm-os .estimator-area-draft{fill:color-mix(in srgb, var(--os-good) 14%, transparent);stroke:var(--os-good);stroke-width:2px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.firm-os .estimator-manual-area:hover rect,.firm-os .estimator-manual-area:focus rect,.firm-os .estimator-manual-area[data-active=true] rect{fill:color-mix(in srgb, var(--os-good) 26%, transparent);stroke-width:3px}.firm-os .estimator-manual-area text{fill:color-mix(in srgb, var(--os-good) 68%, #000);pointer-events:none;font-size:.22px;font-weight:700}.firm-os .estimator-area-draft{fill:color-mix(in srgb, var(--os-good) 9%, transparent);pointer-events:none}.firm-os .estimator-extracted-walls line{stroke:#c2410c6b;vector-effect:non-scaling-stroke}.firm-os .estimator-extracted-stairs polygon{fill:#9333ea1a;stroke:#7e22cead;stroke-width:1.4px;vector-effect:non-scaling-stroke}.firm-os .estimator-extracted-openings line{stroke-width:2.4px;vector-effect:non-scaling-stroke}.firm-os .estimator-extracted-openings line[data-kind=door]{stroke:#15803dd1}.firm-os .estimator-extracted-openings line[data-kind=window]{stroke:#0891b2d1;stroke-dasharray:4 3}.firm-os .estimator-extracted-tags{pointer-events:none}.firm-os .estimator-extracted-tags text{letter-spacing:.01em;text-anchor:middle;paint-order:stroke;stroke:#f1efe8;stroke-width:.08px;stroke-linejoin:round;font-size:.26px;font-weight:600}.firm-os .estimator-extracted-tags text[data-kind=door]{fill:#15803d}.firm-os .estimator-extracted-tags text[data-kind=window]{fill:#0891b2}.firm-os .estimator-extracted-tags text[data-kind=stair]{fill:#7e22ce}.firm-os .estimator-plan-legend{color:var(--os-muted);flex-wrap:wrap;gap:6px 14px;margin:0 0 12px;padding:0;font-size:11px;list-style:none;display:flex}.firm-os .estimator-plan-legend li{align-items:center;gap:6px;display:inline-flex}.firm-os .estimator-plan-legend i{border-radius:2px;width:10px;height:10px}.firm-os .estimator-plan-legend i[data-kind=room]{background:#d9770659;border:1px solid #d97706cc}.firm-os .estimator-plan-legend strong{color:var(--os-text);font-weight:550}.firm-os .estimator-plan-3d>div{padding:0}.firm-os .estimator-plan-3d-host{width:100%;height:100%;position:relative}.firm-os .estimator-plan-3d-host canvas{display:block;width:100%!important;height:100%!important}.firm-os .estimator-plan-3d-error{text-align:center;color:var(--os-muted);place-content:center;padding:24px;display:grid;position:absolute;inset:0}.firm-os .estimator-normalized-canvas img{object-fit:contain;width:100%;height:100%;display:block}.firm-os .estimator-source-floor>div{box-sizing:border-box;background:#f1efe8;display:block}.firm-os .estimator-source-floor img{object-fit:contain;width:100%;height:100%;max-height:100%}.firm-os .estimator-normalized-canvas figcaption{border-top:1px solid var(--os-line);grid-template-columns:minmax(0,1.2fr) auto minmax(0,1fr);align-items:center;gap:12px;min-height:52px;padding:10px 13px;display:grid}.firm-os .estimator-normalized-canvas figcaption span,.firm-os .estimator-normalized-canvas figcaption small{color:var(--os-muted);font-size:11px}.firm-os .estimator-normalized-canvas figcaption strong{white-space:nowrap;font-size:12px;font-weight:520}.firm-os .estimator-normalized-canvas figcaption span{min-width:0;line-height:1.4}.firm-os .estimator-normalized-canvas figcaption small{text-align:right;min-width:0;line-height:1.4}.firm-os .estimator-normalized-index{background:var(--os-bg);border:1px solid var(--os-line-strong);flex-direction:column;min-width:0;display:flex}.firm-os .estimator-normalized-provenance{border-bottom:1px solid var(--os-line);gap:5px;padding:15px;display:grid}.firm-os .estimator-normalized-provenance span,.firm-os .estimator-normalized-provenance small,.firm-os .estimator-normalized-index>p{color:var(--os-muted);font-size:11px;line-height:1.5}.firm-os .estimator-normalized-provenance strong{font-size:13px;font-weight:520}.firm-os .estimator-normalized-index>button{color:var(--os-text);text-align:left;border:0;border-bottom:1px solid var(--os-line);cursor:pointer;background:0 0;grid-template-columns:28px minmax(0,1fr);gap:4px 10px;padding:14px 15px;display:grid}.firm-os .estimator-normalized-index>button:hover,.firm-os .estimator-normalized-index>button[data-active=true]{background:var(--os-raised)}.firm-os .estimator-normalized-index>button[data-active=true]{box-shadow:inset 2px 0 var(--os-accent)}.firm-os .estimator-normalized-index>button span{color:var(--os-muted);grid-row:1/3;font-size:11px}.firm-os .estimator-normalized-index>button strong{font-size:13px;font-weight:520}.firm-os .estimator-normalized-index>button small{color:var(--os-muted);font-size:11px}.firm-os .estimator-normalized-index>p{margin:auto 0 0;padding:15px}.firm-os .estimator-overlay-labels{border-bottom:1px solid var(--os-line);max-height:252px;display:grid;overflow-y:auto}.firm-os .estimator-overlay-labels>button{color:var(--os-text);text-align:left;border:0;border-top:1px solid var(--os-line);cursor:pointer;background:0 0;grid-template-columns:22px minmax(0,1fr);gap:2px 8px;padding:9px 14px;display:grid}.firm-os .estimator-overlay-labels>button:first-child{border-top:0}.firm-os .estimator-overlay-labels>button:hover,.firm-os .estimator-overlay-labels>button[data-active=true]{background:var(--os-raised)}.firm-os .estimator-overlay-labels>button[data-status=review][data-active=true]{box-shadow:inset 2px 0 var(--os-warn)}.firm-os .estimator-overlay-labels>button span{color:#fff;background:#1769d2;border-radius:50%;grid-row:1/3;align-self:center;place-items:center;width:20px;height:20px;font-size:10px;display:grid}.firm-os .estimator-overlay-labels>button[data-status=review] span{background:#a96116}.firm-os .estimator-overlay-labels>button[data-status=manual] span{background:var(--os-good);color:var(--os-accent-foreground)}.firm-os .estimator-overlay-labels>button[data-status=manual][data-active=true]{box-shadow:inset 2px 0 var(--os-good)}.firm-os .estimator-overlay-labels>button strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:560;overflow:hidden}.firm-os .estimator-overlay-labels>button small{color:var(--os-muted);font-size:10px}.firm-os .estimator-overlay-detail{gap:6px;margin-top:auto;padding:15px;display:grid}.firm-os .estimator-overlay-detail span{color:var(--os-accent);text-transform:uppercase;font-size:10px}.firm-os .estimator-overlay-detail strong{font-size:13px;font-weight:560}.firm-os .estimator-overlay-detail p{color:var(--os-muted);margin:0;font-size:11px;line-height:1.5}.firm-os .estimator-manual-detail>span{color:var(--os-good)}.firm-os .estimator-manual-detail>.os-button{color:var(--os-danger);border-color:color-mix(in srgb, var(--os-danger) 40%, var(--os-line-strong));justify-self:start;margin-top:6px}.firm-os .estimator-area-editor{border-top:1px solid var(--os-line);gap:12px;margin-top:auto;padding:15px;display:grid}.firm-os .estimator-area-editor>div:first-child{gap:2px;display:grid}.firm-os .estimator-area-editor>div:first-child strong{font-size:13px;font-weight:560}.firm-os .estimator-area-editor>div:first-child small,.firm-os .estimator-area-editor>p{color:var(--os-muted);font-size:11px;line-height:1.5}.firm-os .estimator-area-editor>p{margin:0}.firm-os .estimator-area-editor label{color:var(--os-muted-strong);gap:6px;font-size:11px;display:grid}.firm-os .estimator-area-editor .os-input,.firm-os .estimator-area-editor .os-select{width:100%}.firm-os .estimator-area-editor>div:last-child{justify-content:flex-end;gap:8px;display:flex}.firm-os .estimator-area-editor-instruction{align-content:end}.firm-os .estimator-area-editor-instruction>.os-button{justify-self:start}.firm-os .estimator-real-preview-grid figure{background:var(--os-bg);border:1px solid var(--os-line-strong);min-width:0;margin:0;overflow:hidden}.firm-os .estimator-real-preview-grid figure>div{background:#f1efe8;place-items:center;height:390px;padding:16px;display:grid;overflow:hidden}.firm-os .estimator-real-preview-grid img{object-fit:contain;filter:grayscale()contrast(1.04);width:100%;height:100%;display:block}.firm-os .estimator-real-preview-grid figcaption{border-top:1px solid var(--os-line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:52px;padding:10px 13px;display:grid}.firm-os .estimator-real-preview-grid figcaption span,.firm-os .estimator-real-preview-grid figcaption small{color:var(--os-muted);font-size:11px}.firm-os .estimator-real-preview-grid figcaption strong{font-size:12px;font-weight:520}.firm-os .estimator-real-grid{grid-template-columns:minmax(0,1.55fr) minmax(310px,.75fr);align-items:start;gap:20px;min-width:0;display:grid}.firm-os .estimator-real-evidence,.firm-os .estimator-real-gate{min-width:0;padding:22px}.firm-os .estimator-real-floors{border-top:1px solid var(--os-line);margin-top:20px}.firm-os .estimator-real-floors article{border-bottom:1px solid var(--os-line);padding:19px 0 20px}.firm-os .estimator-real-floors article:last-child{border-bottom:0;padding-bottom:2px}.firm-os .estimator-real-floor-head{grid-template-columns:30px minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.firm-os .estimator-real-floor-head>span{width:28px;height:28px;color:var(--os-muted);border:1px solid var(--os-line-strong);place-items:center;font-size:11px;display:grid}.firm-os .estimator-real-floor-head h3{color:var(--os-text);margin:1px 0 4px;font-size:14px;font-weight:560}.firm-os .estimator-real-floor-head>strong{color:var(--os-muted-strong);font-size:12px;font-weight:480}.firm-os .estimator-real-labels{flex-wrap:wrap;gap:6px;margin:15px 0 0 42px;display:flex}.firm-os .estimator-real-labels>span{min-height:28px;color:var(--os-text-soft);border:1px solid var(--os-line);background:var(--os-bg);align-items:center;gap:6px;padding:4px 8px;font-size:11px;display:inline-flex}.firm-os .estimator-real-labels>span[data-flagged=true]{color:var(--os-warn);border-color:color-mix(in srgb, var(--os-warn) 45%, var(--os-line));background:color-mix(in srgb, var(--os-warn-surface) 55%, var(--os-bg))}.firm-os .estimator-real-labels small{color:inherit;text-transform:uppercase;letter-spacing:.06em;font-size:9px}.firm-os .estimator-real-gate{background:var(--os-ai-surface);border-color:var(--os-ai-line);gap:22px;display:grid}.firm-os .estimator-real-gate h2{letter-spacing:-.025em;margin:14px 0 8px;font-size:21px;font-weight:540}.firm-os .estimator-real-review{border-block:1px solid var(--os-ai-line);padding:16px 0}.firm-os .estimator-real-review>span,.firm-os .estimator-real-review>small{color:var(--os-warn);font-size:11px;line-height:1.5;display:block}.firm-os .estimator-real-review strong{color:var(--os-text);margin:8px 0 4px;font-size:14px;font-weight:560;display:block}.firm-os .estimator-real-review p{color:var(--os-text-soft);margin:0 0 8px;font-size:12px}.firm-os .estimator-real-review>small{color:var(--os-muted)}.firm-os .estimator-concept-gate{background:color-mix(in srgb,var(--os-warn-surface) 54%,var(--os-ai-surface));border:1px solid color-mix(in srgb,var(--os-warn) 34%,var(--os-ai-line));gap:6px;padding:16px;display:grid}.firm-os .estimator-concept-gate>span,.firm-os .estimator-concept-gate>small{color:var(--os-muted);font-size:11px}.firm-os .estimator-concept-gate>strong{color:var(--os-text);letter-spacing:-.035em;font-size:27px;font-weight:520}.firm-os .estimator-concept-gate>div{border-top:1px solid var(--os-ai-line);grid-template-columns:1fr 1fr;gap:12px;margin-top:10px;padding-top:12px;display:grid}.firm-os .estimator-concept-gate>div span{color:var(--os-muted);gap:4px;font-size:10px;display:grid}.firm-os .estimator-concept-gate>div strong{color:var(--os-text-soft);font-size:12px;font-weight:560}.firm-os .estimator-real-blockers h3{margin:0 0 12px;font-size:13px;font-weight:560}.firm-os .estimator-real-blockers ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.firm-os .estimator-real-blockers li{color:var(--os-muted-strong);padding-left:14px;font-size:12px;line-height:1.5;position:relative}.firm-os .estimator-real-blockers li:before{content:"";background:var(--os-warn);border-radius:50%;width:4px;height:4px;position:absolute;top:.58em;left:0}.firm-os .estimator-real-boundary{color:var(--os-muted);margin:-8px 0 0;font-size:11px;line-height:1.55}.firm-os .estimator-real-normalization{border-block:1px solid var(--os-ai-line);padding:16px 0}.firm-os .estimator-real-normalization h3{color:var(--os-text);margin:0 0 6px;font-size:13px;font-weight:560}.firm-os .estimator-real-normalization>p{color:var(--os-muted);margin:0;font-size:11px;line-height:1.5}.firm-os .estimator-real-normalization-facts{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.firm-os .estimator-real-normalization-facts>span{gap:3px;min-width:0;display:grid}.firm-os .estimator-real-normalization-facts small{color:var(--os-muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.firm-os .estimator-real-normalization-facts strong{color:var(--os-text-soft);overflow-wrap:anywhere;font-size:12px;font-weight:560;line-height:1.4}.firm-os .estimator-real-normalization-facts strong[data-recovered=true]{color:var(--os-warn)}.firm-os .estimator-real-normalization-warn{color:var(--os-warn);margin:10px 0 0;font-size:11px;line-height:1.5}.firm-os .estimator-real-normalization-map{border-collapse:collapse;table-layout:fixed;width:100%;margin-top:12px;font-size:11px}.firm-os .estimator-real-normalization-map th{color:var(--os-muted);text-align:left;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--os-ai-line);padding:0 6px 6px 0;font-size:10px;font-weight:480}.firm-os .estimator-real-normalization-map td{color:var(--os-text-soft);vertical-align:top;overflow-wrap:anywhere;border-bottom:1px solid var(--os-ai-line);padding:6px 6px 6px 0;line-height:1.4}.firm-os .estimator-real-normalization-map tr:last-child td{border-bottom:0;padding-bottom:0}.firm-os .estimator-real-normalization-map th:last-child,.firm-os .estimator-real-normalization-map td:last-child{padding-right:0}.firm-os .estimator-real-normalization-map td[data-method=geometry]{color:var(--os-warn)}.firm-os .estimator-real-normalization-diagnostics{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.firm-os .estimator-real-normalization-diagnostics li{color:var(--os-muted-strong);padding-left:14px;font-size:11px;line-height:1.5;position:relative}.firm-os .estimator-real-normalization-diagnostics li:before{content:"";background:var(--os-muted);border-radius:50%;width:4px;height:4px;position:absolute;top:.58em;left:0}.firm-os .estimator-drawing-layout{grid-template-columns:minmax(0,3fr) minmax(360px,2fr);align-items:stretch;gap:20px;min-width:0;display:grid}.firm-os .estimator-plan,.firm-os .estimator-inspector,.firm-os .estimator-ledger,.firm-os .estimator-margin-panel{min-width:0}.firm-os .estimator-plan{padding:22px}.firm-os .estimator-cad-frame{background:var(--os-bg);border:1px solid var(--os-line-strong);border-radius:2px;margin-top:14px;overflow:hidden}.firm-os .estimator-cad-toolbar{min-height:40px;color:var(--os-muted);border-bottom:1px solid var(--os-line);justify-content:space-between;align-items:center;gap:16px;padding:10px 14px;font-size:12px;display:flex}.firm-os .estimator-cad-toolbar span:first-child{color:var(--os-text-soft);font-weight:520}.firm-os .estimator-cad{aspect-ratio:816/560;background-color:var(--os-bg);background-image:linear-gradient(#ffffff02 1px,#0000 1px),linear-gradient(90deg,#ffffff02 1px,#0000 1px);background-size:20px 20px;width:100%;height:auto;display:block}.firm-os .estimator-cad-viewport{padding-block:36px}.firm-os .estimator-wall{fill:none;stroke:#858e91;stroke-width:4px}.firm-os .estimator-door{fill:none;stroke:#858e91;stroke-width:1.2px}.firm-os .estimator-title-block{fill:none;stroke:#596164}.firm-os .estimator-sheet-label{fill:#858e91;letter-spacing:.04em;font-size:12px}.firm-os .estimator-sheet-small{font-size:9px}.firm-os .estimator-object{cursor:pointer;outline:none}.firm-os .estimator-target{fill:#ffffff04;stroke:#6f797d;stroke-width:1.4px}.firm-os .estimator-object>circle{fill:none;stroke:#858e91;stroke-width:1.4px}.firm-os .estimator-object-label{fill:#c4c8ca;letter-spacing:.03em;pointer-events:none;font-size:13px}.firm-os .estimator-object-id{fill:#d0d2d2;font-variant-numeric:tabular-nums;pointer-events:none;font-size:13px}.firm-os .estimator-object:hover .estimator-target,.firm-os .estimator-object:focus-visible .estimator-target,.firm-os .estimator-object[data-active=true] .estimator-target{fill:color-mix(in srgb, var(--os-accent) 18%, transparent);stroke:var(--os-accent);stroke-width:2px}.firm-os .estimator-object[data-active=true] text{fill:var(--os-text)}.firm-os .estimator-object[data-missing=true]{opacity:.58}.firm-os .estimator-object[data-missing=true] .estimator-target{stroke-dasharray:4 3}.firm-os .estimator-inspector{flex-direction:column;max-height:calc(100vh - 238px);padding:22px;display:flex;overflow-y:auto}.firm-os .estimator-scope-list{border-block:1px solid var(--os-line);margin:0 0 22px;display:grid}.firm-os .estimator-scope-list button{color:var(--os-text);text-align:left;border:0;border-bottom:1px solid var(--os-line);cursor:pointer;background:0 0;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:11px 8px;display:grid}.firm-os .estimator-scope-list button:last-child{border-bottom:0}.firm-os .estimator-scope-list button:hover,.firm-os .estimator-scope-list button[data-active=true]{background:var(--os-raised)}.firm-os .estimator-scope-list button[data-active=true]{box-shadow:inset 2px 0 var(--os-accent)}.firm-os .estimator-scope-list span{gap:3px;min-width:0;display:grid}.firm-os .estimator-scope-list span:last-child{text-align:right}.firm-os .estimator-scope-list strong,.firm-os .estimator-scope-list b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:570;overflow:hidden}.firm-os .estimator-scope-list small{color:var(--os-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.firm-os .estimator-inspector-kicker{color:var(--os-link);margin-bottom:14px;font-size:12px}.firm-os .estimator-inspector h2,.firm-os .estimator-margin-panel h2{color:var(--os-text);letter-spacing:-.025em;margin:0;font-size:21px;font-weight:540}.firm-os .estimator-inspector-spec{color:var(--os-muted);margin:9px 0 24px;font-size:14px;line-height:1.45}.firm-os .estimator-inspector-data{border-top:1px solid var(--os-line);margin:0}.firm-os .estimator-inspector-data>div{border-bottom:1px solid var(--os-line);grid-template-columns:88px minmax(0,1fr);gap:12px;padding:12px 0;display:grid}.firm-os .estimator-inspector-data dt,.firm-os .estimator-inspector-data dd{margin:0;font-size:12px}.firm-os .estimator-inspector-data dt{color:var(--os-muted)}.firm-os .estimator-inspector-data dd{color:var(--os-text);font-variant-numeric:tabular-nums;text-align:right}.firm-os .estimator-calculation-note{border-bottom:1px solid var(--os-line);padding:20px 0}.firm-os .estimator-calculation-note strong,.firm-os .estimator-ai-query label{color:var(--os-text);margin-bottom:7px;font-size:14px;font-weight:560;display:block}.firm-os .estimator-calculation-note p,.firm-os .estimator-margin-panel>p{color:var(--os-muted);margin:0;font-size:14px;line-height:1.55}.firm-os .estimator-ai-query{margin-top:20px}.firm-os .estimator-ai-query textarea{resize:vertical;width:100%;min-height:72px;padding:9px 10px}.firm-os .estimator-ai-query .os-button{width:100%;margin-top:8px}.firm-os .estimator-inspector-next{width:100%;margin-top:24px;padding-top:11px;padding-bottom:11px}.firm-os .estimator-inspector-empty{text-align:left;align-content:center;justify-items:start;gap:12px;height:100%;padding:24px 0;display:grid}.firm-os .estimator-inspector-empty h2{font-size:18px}.firm-os .estimator-inspector-empty p{color:var(--os-muted);font-size:14px}.firm-os .estimator-ledger{padding:18px;container-type:inline-size}.firm-os .estimator-scope-boundary{background:color-mix(in srgb,var(--os-warn-surface) 42%,var(--os-surface));border:1px solid color-mix(in srgb,var(--os-warn) 26%,var(--os-line));align-items:flex-start;gap:14px;margin:-2px -2px 18px;padding:14px 16px;display:flex}.firm-os .estimator-scope-boundary .os-badge{flex-shrink:0}.firm-os .estimator-scope-boundary p{color:var(--os-muted-strong);margin:0;font-size:12px;line-height:1.55}.firm-os .estimator-readiness-stage{gap:16px;display:grid}.firm-os .estimator-readiness{grid-template-columns:minmax(0,1.55fr) minmax(310px,.65fr);padding:0;display:grid;overflow:hidden}.firm-os .estimator-readiness-main{border-right:1px solid var(--os-line);min-width:0;padding:22px}.firm-os .estimator-readiness-head h2{letter-spacing:-.025em;margin:12px 0 6px;font-size:21px;font-weight:560}.firm-os .estimator-readiness-head p{max-width:720px;color:var(--os-muted);margin:0;font-size:12px;line-height:1.55}.firm-os .estimator-readiness-thread{scrollbar-gutter:stable;gap:10px;max-height:520px;margin-top:20px;padding-right:8px;display:grid;overflow:auto}.firm-os .estimator-readiness-exchange{grid-template-columns:minmax(0,1fr) minmax(180px,.72fr);align-items:start;gap:8px;display:grid}.firm-os .estimator-readiness-message{background:var(--os-raised);border:1px solid var(--os-line);gap:4px;max-width:82%;padding:10px 12px;display:grid}.firm-os .estimator-readiness-message[data-role=user]{background:color-mix(in srgb,var(--os-accent) 7%,var(--os-raised));justify-self:end;width:100%;max-width:none}.firm-os .estimator-readiness-message[data-complete=true]{border-color:color-mix(in srgb,var(--os-good) 34%,var(--os-line))}.firm-os .estimator-readiness-message small{color:var(--os-muted);letter-spacing:.07em;text-transform:uppercase;font-size:9px;font-weight:620}.firm-os .estimator-readiness-message p{color:var(--os-text);margin:0;font-size:12px;line-height:1.5}.firm-os .estimator-readiness-message span{color:var(--os-muted);font-size:11px;line-height:1.45}.firm-os .estimator-readiness-message button{color:var(--os-link);font:inherit;cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;font-size:10px}.firm-os .estimator-readiness-current{gap:10px;padding-top:4px;display:grid}.firm-os .estimator-readiness-current>.estimator-readiness-message{border-left:2px solid var(--os-accent)}.firm-os .estimator-readiness-options{flex-wrap:wrap;gap:7px;display:flex}.firm-os .estimator-readiness-options button{min-height:34px;color:var(--os-text);font:inherit;background:var(--os-surface);border:1px solid var(--os-line-strong);cursor:pointer;padding:7px 11px;font-size:11px}.firm-os .estimator-readiness-options button:hover,.firm-os .estimator-readiness-options button:focus-visible{background:var(--os-raised);border-color:var(--os-muted);outline:none}.firm-os .estimator-readiness-composer{gap:6px;display:grid}.firm-os .estimator-readiness-composer>label{color:var(--os-muted);font-size:10px}.firm-os .estimator-readiness-composer>div{grid-template-columns:minmax(0,1fr) auto;gap:7px;display:grid}.firm-os .estimator-readiness-composer .os-input{min-width:0}.firm-os .estimator-readiness-summary{background:var(--os-sidebar);align-content:start;gap:16px;min-width:0;padding:22px;display:grid}.firm-os .estimator-readiness-status{border-bottom:1px solid var(--os-line);gap:5px;padding-bottom:16px;display:grid}.firm-os .estimator-readiness-status span,.firm-os .estimator-readiness-status small{color:var(--os-muted);font-size:10px}.firm-os .estimator-readiness-status strong{font-size:17px;font-weight:560}.firm-os .estimator-readiness-summary dl{gap:0;margin:0;display:grid}.firm-os .estimator-readiness-summary dl>div{border-bottom:1px solid var(--os-line);justify-content:space-between;gap:14px;padding:8px 0;display:flex}.firm-os .estimator-readiness-summary dt{color:var(--os-muted);font-size:11px}.firm-os .estimator-readiness-summary dd{text-align:right;margin:0;font-size:11px;font-weight:570}.firm-os .estimator-readiness-evidence h3{margin:0 0 8px;font-size:11px;font-weight:580}.firm-os .estimator-readiness-evidence ul{color:var(--os-muted);gap:6px;margin:0;padding-left:16px;font-size:10px;line-height:1.4;display:grid}.firm-os .estimator-readiness-upload{min-height:36px;color:var(--os-text-soft);border:1px dashed var(--os-line-strong);cursor:pointer;justify-content:center;align-items:center;padding:7px 10px;font-size:11px;display:flex}.firm-os .estimator-readiness-upload:hover{background:var(--os-raised)}.firm-os .estimator-readiness-upload input{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.firm-os .estimator-readiness-files{flex-wrap:wrap;gap:5px;margin-top:-8px;display:flex}.firm-os .estimator-readiness-files span{max-width:100%;color:var(--os-muted-strong);background:var(--os-raised);text-overflow:ellipsis;white-space:nowrap;padding:4px 6px;font-size:9px;overflow:hidden}.firm-os .estimator-readiness-summary>.os-button{width:100%}.firm-os .estimator-readiness-summary>p{color:var(--os-muted);margin:-5px 0 0;font-size:10px;line-height:1.45}.firm-os .estimator-ledger-head{grid-template-columns:minmax(220px,1fr) auto;align-items:flex-start;gap:16px 24px;display:grid}.firm-os .estimator-ledger-head>div:first-child{min-width:220px;max-width:46ch}.firm-os .estimator-ledger-head .os-toolbar{flex-wrap:wrap;justify-content:flex-end;gap:7px;margin-bottom:0}.firm-os .estimator-table-wrap{scrollbar-gutter:stable;border:1px solid var(--os-line);margin-top:17px;position:relative}.firm-os .estimator-scroll-cue{color:var(--os-muted);text-align:right;margin:-7px 0 10px;font-size:12px}.firm-os .estimator-review-instruction{color:var(--os-muted);margin:-7px 0 12px;font-size:12px;line-height:1.5}.firm-os .estimator-review-list{border:1px solid var(--os-line);background:var(--os-surface)}.firm-os .estimator-review-group{min-height:38px;color:var(--os-text-soft);letter-spacing:.015em;background:var(--os-sidebar);border-bottom:1px solid var(--os-line);justify-content:space-between;align-items:center;gap:16px;padding:8px 12px;font-size:12px;font-weight:570;display:flex}.firm-os .estimator-review-group strong{color:var(--os-muted-strong);font-variant-numeric:tabular-nums;font-weight:520}.firm-os .estimator-review-item{background:var(--os-surface);border-bottom:1px solid color-mix(in srgb, var(--os-line) 72%, transparent)}.firm-os .estimator-review-item:last-child{border-bottom:0}.firm-os .estimator-review-item[data-expanded=true]{background:var(--os-raised);outline:1px solid var(--os-line-strong);outline-offset:-1px}.firm-os .estimator-review-summary{width:100%;min-height:66px;color:var(--os-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(240px,1.5fr) minmax(90px,auto) minmax(150px,auto) 104px;grid-template-areas:"title measure evidence disclosure";align-items:center;gap:18px;padding:11px 13px;display:grid}.firm-os .estimator-review-summary:hover{background:var(--os-hover)}.firm-os .estimator-review-summary:focus-visible{z-index:1;outline:2px solid var(--os-accent);outline-offset:-3px;position:relative}.firm-os .estimator-review-title{grid-area:title;min-width:0}.firm-os .estimator-review-title strong,.firm-os .estimator-review-title small,.firm-os .estimator-review-measure small,.firm-os .estimator-review-price small,.firm-os .estimator-review-margin small{display:block}.firm-os .estimator-review-title strong{color:var(--os-text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:560;line-height:1.4;overflow:hidden}.firm-os .estimator-review-title small{color:var(--os-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;line-height:1.4;overflow:hidden}.firm-os .estimator-review-measure,.firm-os .estimator-review-price,.firm-os .estimator-review-margin{font-variant-numeric:tabular-nums;min-width:0}.firm-os .estimator-review-measure{grid-area:measure}.firm-os .estimator-review-price{grid-area:price}.firm-os .estimator-review-margin{grid-area:margin}.firm-os .estimator-review-evidence{grid-area:evidence}.firm-os .estimator-review-measure small,.firm-os .estimator-review-price small,.firm-os .estimator-review-margin small{color:var(--os-muted);margin-bottom:4px;font-size:12px}.firm-os .estimator-review-measure strong,.firm-os .estimator-review-price strong{color:var(--os-text-soft);white-space:nowrap;font-size:14px;font-weight:540}.firm-os .estimator-review-disclosure{color:var(--os-link);white-space:nowrap;grid-area:disclosure;justify-self:end;font-size:12px}.firm-os .estimator-review-disclosure:after{content:"";border-bottom:1px solid;border-right:1px solid;width:6px;height:6px;margin:0 2px 2px 9px;transition:transform .15s;display:inline-block;transform:rotate(45deg)}.firm-os .estimator-review-item[data-expanded=true] .estimator-review-disclosure:after{margin-bottom:-1px;transform:rotate(225deg)}.firm-os .estimator-review-detail{border-top:1px solid var(--os-line);grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:18px 14px 20px;display:grid}.firm-os .estimator-review-field{align-content:start;gap:7px;min-width:0;display:grid}.firm-os .estimator-review-field>span{color:var(--os-muted);font-size:12px}.firm-os .estimator-review-field>strong{overflow-wrap:anywhere;color:var(--os-text-soft);font-size:14px;font-weight:520;line-height:1.5}.firm-os .estimator-review-field>small{color:var(--os-muted);font-size:12px}.firm-os .estimator-review-field .os-input{width:100%}.firm-os .estimator-review-field textarea.os-input{resize:vertical;min-height:78px}.firm-os .estimator-review-field-wide{grid-column:span 2}.firm-os .estimator-review-actions{justify-content:flex-end;align-items:end;display:flex}.firm-os .estimator-rab-list .estimator-review-summary{grid-template-columns:minmax(220px,1.5fr) minmax(78px,auto) minmax(115px,auto) minmax(70px,auto) 88px;grid-template-areas:"title measure price margin disclosure"}.firm-os .estimator-rab-inline-detail{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 13px 15px;display:none}.firm-os .estimator-rab-inline-detail>span{gap:4px;display:grid}.firm-os .estimator-rab-inline-detail small{color:var(--os-muted);font-size:12px}.firm-os .estimator-rab-inline-detail strong{color:var(--os-text-soft);font-variant-numeric:tabular-nums;font-size:12px;font-weight:530}.firm-os .estimator-rab-total{background:var(--os-sidebar);border-top:1px solid var(--os-line-strong);grid-template-columns:minmax(0,1fr) auto;gap:3px 18px;padding:14px 13px;display:grid}.firm-os .estimator-rab-total span{color:var(--os-text);grid-row:span 2;align-self:center;font-size:14px;font-weight:570}.firm-os .estimator-rab-total strong{color:var(--os-text);font-variant-numeric:tabular-nums;text-align:right;font-size:15px;font-weight:570}.firm-os .estimator-rab-total small{color:var(--os-muted);text-align:right;font-size:12px}.firm-os .estimator-boq-table{min-width:1580px}.firm-os .estimator-rab-table{min-width:1260px}.firm-os .estimator-boq-table th:first-child,.firm-os .estimator-boq-table td:first-child{min-width:220px}.firm-os .estimator-boq-table th:nth-child(2),.firm-os .estimator-boq-table td:nth-child(2){min-width:180px}.firm-os .estimator-boq-table th:nth-child(3),.firm-os .estimator-boq-table td:nth-child(3){min-width:160px}.firm-os .estimator-boq-table th:nth-child(4),.firm-os .estimator-boq-table td:nth-child(4){min-width:420px}.firm-os .estimator-boq-table th:nth-child(7),.firm-os .estimator-boq-table td:nth-child(7){min-width:110px}.firm-os .estimator-boq-table th:nth-child(8),.firm-os .estimator-boq-table td:nth-child(8){min-width:240px}.firm-os .estimator-boq-table th,.firm-os .estimator-rab-table th{height:40px;color:var(--os-muted);letter-spacing:.025em;background:var(--os-sidebar);border-bottom:1px solid var(--os-line);white-space:nowrap;padding:0 12px;font-size:12px;font-weight:560}.firm-os .estimator-boq-table td,.firm-os .estimator-rab-table td{font-variant-numeric:tabular-nums;border-bottom:1px solid color-mix(in srgb, var(--os-line) 72%, transparent);white-space:nowrap;padding:8px 12px;font-size:14px}.firm-os .estimator-boq-table tbody tr,.firm-os .estimator-rab-table tbody tr{background:var(--os-surface)}.firm-os .estimator-boq-table tbody tr:hover,.firm-os .estimator-rab-table tbody tr:hover{background:var(--os-raised)}.firm-os .estimator-boq-table tbody tr[data-selected=true]{box-shadow:inset 2px 0 var(--os-accent)}.firm-os .estimator-cell-input,.firm-os .estimator-cost-input,.firm-os .estimator-percent-input .os-input{min-height:38px;color:var(--os-text);background:0 0;border-color:#0000;padding:7px 8px;font-size:14px}.firm-os .estimator-cell-input:hover,.firm-os .estimator-cell-input:focus,.firm-os .estimator-cost-input:hover,.firm-os .estimator-cost-input:focus,.firm-os .estimator-percent-input .os-input:hover,.firm-os .estimator-percent-input .os-input:focus{background:var(--os-bg);border-color:var(--os-line-strong)}.firm-os .estimator-item-name{width:160px;font-weight:540}.firm-os .estimator-spec-input{width:220px}.firm-os .estimator-unit-input{width:54px}.firm-os .estimator-number-input{width:84px}.firm-os .estimator-localized-input,.firm-os .currency-input{display:block}.firm-os .estimator-input-error,.firm-os .currency-input-error{max-width:160px;color:var(--os-danger);white-space:normal;padding-top:4px;font-size:12px;line-height:1.35;display:block}.firm-os input[aria-invalid=true]{border-color:var(--os-danger)}.firm-os .estimator-source-cell{max-width:180px;color:var(--os-muted);text-overflow:ellipsis;overflow:hidden}.firm-os .estimator-table-value{color:var(--os-text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.4;display:block;overflow:hidden}.firm-os .estimator-delete{min-height:38px;color:var(--os-danger);font:inherit;cursor:pointer;background:0 0;border:0;padding:6px 0}.firm-os .estimator-delete:hover{color:var(--os-text)}.firm-os .estimator-delete:focus-visible{outline:1px solid var(--os-danger);outline-offset:2px}.firm-os .estimator-ledger-footer{justify-content:space-between;align-items:center;gap:20px;padding-top:16px;display:flex}.firm-os .estimator-ledger-footer p{color:var(--os-muted);margin:0;font-size:12px}.firm-os .estimator-rab{gap:16px;display:grid}.firm-os .estimator-concept-banner{background:linear-gradient(110deg,color-mix(in srgb,var(--os-warn-surface) 48%,var(--os-surface)),var(--os-surface));border:1px solid color-mix(in srgb,var(--os-warn) 32%,var(--os-line));grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:28px;padding:20px 22px;display:grid}.firm-os .estimator-concept-banner h2{letter-spacing:-.025em;margin:12px 0 6px;font-size:20px;font-weight:560}.firm-os .estimator-concept-banner p{max-width:760px;color:var(--os-muted-strong);margin:0;font-size:12px;line-height:1.6}.firm-os .estimator-concept-banner dl{border-left:1px solid var(--os-line);grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;margin:0;display:grid}.firm-os .estimator-concept-banner dl>div{gap:7px;min-width:0;padding:4px 14px;display:grid}.firm-os .estimator-concept-banner dt{color:var(--os-muted);font-size:10px}.firm-os .estimator-concept-banner dd{color:var(--os-text);margin:0;font-size:13px;font-weight:560;line-height:1.4}.firm-os .estimator-metrics{border:1px solid var(--os-line);background:var(--os-surface);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.firm-os .estimator-metrics .os-metric{border-right:1px solid var(--os-line);min-width:0;padding:15px}.firm-os .estimator-metrics .os-metric:last-child{border-right:0}.firm-os .estimator-metrics .os-metric span,.firm-os .estimator-metrics .os-metric strong{display:block}.firm-os .estimator-metrics .os-metric span{color:var(--os-muted);text-overflow:ellipsis;white-space:nowrap;margin-bottom:7px;font-size:12px;overflow:hidden}.firm-os .estimator-metrics .os-metric strong{color:var(--os-text);font-variant-numeric:tabular-nums;letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:540;overflow:hidden}.firm-os .estimator-metrics .estimator-metric-selling strong{color:var(--os-link)}.firm-os .estimator-rab-grid{grid-template-columns:minmax(0,1fr) minmax(350px,390px);align-items:start;gap:16px;min-width:0;display:grid}.firm-os .estimator-rab-table th:not(:first-child),.firm-os .estimator-rab-table td:not(:first-child){text-align:right}.firm-os .estimator-rab-table th:first-child,.firm-os .estimator-rab-table td:first-child{z-index:1;background:var(--os-surface);min-width:290px;box-shadow:1px 0 var(--os-line);position:sticky;left:0}.firm-os .estimator-rab-table th:first-child{z-index:2;background:var(--os-sidebar)}.firm-os .estimator-rab-table tbody tr:hover td:first-child{background:var(--os-raised)}.firm-os .estimator-rab-table th:nth-child(2),.firm-os .estimator-rab-table td:nth-child(2){text-align:left}.firm-os .estimator-rab-table .estimator-rab-group th{height:36px;color:var(--os-text-soft);text-align:left;background:var(--os-bg);box-shadow:none;padding:0 12px;position:static}.firm-os .estimator-rab-table .estimator-rab-group th span{float:right;color:var(--os-muted);font-weight:500}.firm-os .estimator-rab-table .estimator-rab-group:hover{background:var(--os-bg)}.firm-os .estimator-confidence{color:var(--os-muted);white-space:nowrap;margin-top:5px;font-size:10px;display:block}.firm-os .estimator-rab-table tfoot td:first-child{background:var(--os-sidebar)}.firm-os .estimator-rab-table td:first-child strong,.firm-os .estimator-rab-table td:first-child span{display:block}.firm-os .estimator-rab-table td:first-child strong{color:var(--os-text);font-weight:540}.firm-os .estimator-rab-table td:first-child span{color:var(--os-muted);margin-top:3px;font-size:12px}.firm-os .estimator-cost-input{font-variant-numeric:tabular-nums;text-align:right;width:148px}.firm-os .estimator-percent-input{width:88px;margin-left:auto;position:relative}.firm-os .estimator-percent-input .os-input{text-align:right;width:100%;padding-right:20px}.firm-os .estimator-percent-input>.estimator-percent-suffix{color:var(--os-muted);pointer-events:none;font-size:12px;position:absolute;top:8px;right:8px}.firm-os .estimator-rab-table tfoot td{height:42px;color:var(--os-text);background:var(--os-sidebar);border-top:1px solid var(--os-line);font-weight:570}.firm-os .estimator-rab-table tfoot .estimator-adjustment-row td{min-height:38px;color:var(--os-good);background:var(--os-good-surface);border-top:0;font-size:12px;font-weight:500}.firm-os .estimator-margin-panel{padding:22px;position:sticky;top:20px}.firm-os .estimator-margin-panel h2{margin-top:16px}.firm-os .estimator-margin-panel>p{margin-top:10px}.firm-os .estimator-margin-actions{border-top:1px solid var(--os-line);margin:22px 0 0;padding:0;list-style:none}.firm-os .estimator-margin-actions li{border-bottom:1px solid var(--os-line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px 0;font-size:12px;display:grid}.firm-os .estimator-margin-actions span{color:var(--os-muted)}.firm-os .estimator-margin-actions strong{color:var(--os-good);white-space:nowrap;font-weight:560}.firm-os .estimator-margin-actions button{min-width:42px;min-height:38px;color:var(--os-link);font:inherit;cursor:pointer;background:0 0;border:0;padding:7px 0;font-size:13px}.firm-os .estimator-margin-actions button:hover{color:var(--os-text)}.firm-os .estimator-margin-actions button:focus-visible{outline:1px solid var(--os-accent);outline-offset:2px}.firm-os .estimator-margin-actions button:disabled{color:var(--os-good);cursor:default}.firm-os .estimator-margin-projection{padding:20px 0}.firm-os .estimator-margin-projection span,.firm-os .estimator-margin-projection strong,.firm-os .estimator-margin-projection small{display:block}.firm-os .estimator-margin-projection span{color:var(--os-muted);font-size:12px}.firm-os .estimator-margin-projection strong{color:var(--os-text);font-variant-numeric:tabular-nums;letter-spacing:-.04em;margin:5px 0 2px;font-size:34px;font-weight:500}.firm-os .estimator-margin-projection small{color:var(--os-muted);font-size:12px}.firm-os .estimator-margin-panel>.os-button{width:100%}.firm-os .estimator-margin-panel .estimator-quotation-cta{margin-top:8px;padding-block:11px}.firm-os .estimator-margin-panel .estimator-simulation-note{margin-top:14px;font-size:12px;line-height:1.5}.firm-os .estimator-selling-equation{border-block:1px solid var(--os-line);gap:6px;margin:20px 0 18px;padding:15px 0;display:grid}.firm-os .estimator-selling-equation span,.firm-os .estimator-selling-equation strong{font-size:12px}.firm-os .estimator-selling-equation span{color:var(--os-muted)}.firm-os .estimator-selling-equation strong{color:var(--os-text-soft);font-weight:520}.firm-os .estimator-selling-equation b{color:var(--os-text);letter-spacing:-.035em;font-variant-numeric:tabular-nums;margin-top:2px;font-size:26px;font-weight:510}.firm-os .estimator-cost-breakdown{display:grid}.firm-os .estimator-cost-breakdown>div{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.firm-os .estimator-cost-breakdown h3{margin:0;font-size:14px;font-weight:570}.firm-os .estimator-cost-breakdown>div>span{color:var(--os-good);font-size:11px}.firm-os .estimator-cost-breakdown p{color:var(--os-muted);border-bottom:1px solid color-mix(in srgb,var(--os-line) 72%,transparent);justify-content:space-between;align-items:center;gap:18px;margin:0;padding:7px 0;font-size:12px;display:flex}.firm-os .estimator-cost-breakdown p strong{color:var(--os-text-soft);font-variant-numeric:tabular-nums;font-weight:520}.firm-os .estimator-cost-breakdown p.is-total{color:var(--os-text);border-bottom:0;padding-top:11px;font-weight:570}.firm-os .estimator-line-outcome{border-block:1px solid var(--os-line);grid-template-columns:1fr 1fr;margin:10px 0 18px;display:grid}.firm-os .estimator-line-outcome>span{color:var(--os-muted);gap:4px;padding:13px 0;font-size:12px;display:grid}.firm-os .estimator-line-outcome>span+span{border-left:1px solid var(--os-line);padding-left:14px}.firm-os .estimator-line-outcome strong{color:var(--os-text);font-variant-numeric:tabular-nums;font-size:17px;font-weight:540}.firm-os .estimator-pricing-recommendation{background:var(--os-ai-raised);border:1px solid var(--os-ai-line);margin:0 -2px 16px;padding:16px}.firm-os .estimator-pricing-recommendation>span{gap:2px;display:grid}.firm-os .estimator-pricing-recommendation>span strong{font-size:14px}.firm-os .estimator-pricing-recommendation>span small,.firm-os .estimator-pricing-recommendation>p{color:var(--os-muted);font-size:12px}.firm-os .estimator-pricing-recommendation>p{margin:12px 0;line-height:1.55}.firm-os .estimator-pricing-recommendation>div{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.firm-os .estimator-pricing-recommendation>div span{color:var(--os-muted);gap:4px;font-size:11px;display:grid}.firm-os .estimator-pricing-recommendation>div strong{color:var(--os-text);font-size:12px;font-weight:560}.firm-os .estimator-pricing-recommendation .os-button{width:100%}.firm-os .estimator-concept-line{background:var(--os-ai-raised);border:1px solid var(--os-ai-line);gap:12px;margin:0 -2px 16px;padding:16px;display:grid}.firm-os .estimator-concept-line>span{justify-content:space-between;align-items:center;gap:12px;display:flex}.firm-os .estimator-concept-line>span strong{font-size:13px}.firm-os .estimator-concept-line>span small{color:var(--os-warn);font-size:11px}.firm-os .estimator-concept-line>p{color:var(--os-muted-strong);margin:0;font-size:12px;line-height:1.55}.firm-os .estimator-concept-line>div{border-top:1px solid var(--os-ai-line);gap:10px;padding-top:12px;display:grid}.firm-os .estimator-concept-line>div span{color:var(--os-muted);gap:3px;font-size:10px;display:grid}.firm-os .estimator-concept-line>div strong{color:var(--os-text-soft);font-size:11px;font-weight:520;line-height:1.45}.firm-os .estimator-rate-control{gap:7px;margin:-3px 0 20px;display:grid}.firm-os .estimator-rate-control>span{color:var(--os-muted);font-size:12px}.firm-os .estimator-rate-control .os-input{font-variant-numeric:tabular-nums;width:100%}@container (max-width:920px){.firm-os .estimator-ledger-head{grid-template-columns:1fr}.firm-os .estimator-ledger-head>div:first-child{min-width:0;max-width:64ch}.firm-os .estimator-ledger-head .os-toolbar{justify-content:flex-start}}@container (max-width:720px){.firm-os .estimator-review-summary{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"title title title""measure evidence disclosure";row-gap:12px}.firm-os .estimator-rab-list .estimator-review-summary{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"title title title""measure price margin""disclosure disclosure disclosure"}.firm-os .estimator-rab-list .estimator-review-disclosure{justify-self:start}.firm-os .estimator-review-detail{grid-template-columns:repeat(2,minmax(0,1fr))}.firm-os .estimator-rab-inline-detail{display:grid}}@media (max-width:1180px){.firm-os .estimator-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.firm-os .estimator-metrics .os-metric:nth-child(4){border-right:0}.firm-os .estimator-metrics .os-metric:nth-child(-n+4){border-bottom:1px solid var(--os-line)}.firm-os .estimator-metrics[data-concept=true] .os-metric:last-child{border-right:0;grid-column:1/-1}.firm-os .estimator-metrics[data-concept=true] .os-metric:last-child strong{text-overflow:clip;overflow:visible}}@media (max-width:980px){.firm-os .estimator-upload{grid-template-columns:1fr}.firm-os .estimator-upload-copy{border-right:0;border-bottom:1px solid var(--os-line);min-height:360px}.firm-os .estimator-inspector{max-height:none}.firm-os .estimator-margin-panel{position:static}.firm-os .estimator-drawing-layout,.firm-os .estimator-rab-grid,.firm-os .estimator-real-grid,.firm-os .estimator-real-preview-grid,.firm-os .estimator-normalized-layout{grid-template-columns:1fr}.firm-os .estimator-inspector,.firm-os .estimator-margin-panel{position:static}.firm-os .estimator-rab-inline-detail{display:grid}.firm-os .estimator-inspector-next{margin-top:24px}.firm-os .estimator-concept-banner{grid-template-columns:1fr}.firm-os .estimator-concept-banner dl{border-top:1px solid var(--os-line);border-left:0;padding-top:14px}.firm-os .estimator-readiness{grid-template-columns:1fr}.firm-os .estimator-readiness-main{border-right:0;border-bottom:1px solid var(--os-line)}}@media (max-width:720px){.firm-os .estimator-shell{gap:16px}.firm-os .estimator-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.firm-os .estimator-flow-step:nth-child(2){border-right:0}.firm-os .estimator-flow-step:nth-child(-n+2){border-bottom:1px solid var(--os-line)}.firm-os .estimator-upload-copy{min-height:310px;padding:34px 24px}.firm-os .estimator-analysis{padding:30px 22px}.firm-os .estimator-real-header{display:grid}.firm-os .estimator-real-header-actions{flex-wrap:wrap;align-items:flex-start}.firm-os .estimator-real-preview-grid figure>div{height:320px}.firm-os .estimator-real-previews .os-section-head{flex-direction:column;align-items:flex-start}.firm-os .estimator-drawing-actions{justify-content:space-between;width:100%}.firm-os .estimator-floor-switcher{grid-auto-columns:minmax(min(210px,78vw),1fr)}.firm-os .estimator-normalized-canvas>div{height:520px}.firm-os .estimator-real-preview-grid figcaption{grid-template-columns:auto minmax(0,1fr)}.firm-os .estimator-real-preview-grid figcaption small{grid-column:2}.firm-os .estimator-real-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.firm-os .estimator-real-summary>div,.firm-os .estimator-real-summary>div:first-child,.firm-os .estimator-real-summary>.estimator-real-summary-action{border-bottom:1px solid var(--os-line);padding:15px 12px}.firm-os .estimator-real-summary>div:nth-child(2){border-right:0}.firm-os .estimator-real-summary>:nth-last-child(-n+2){border-bottom:0}.firm-os .estimator-cad-toolbar,.firm-os .estimator-ledger-head,.firm-os .estimator-ledger-footer{display:grid}.firm-os .estimator-ledger-head .os-toolbar{justify-content:flex-start}.firm-os .estimator-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.firm-os .estimator-metrics .os-metric,.firm-os .estimator-metrics .os-metric:nth-child(4){border-right:1px solid var(--os-line);border-bottom:1px solid var(--os-line)}.firm-os .estimator-metrics .os-metric:nth-child(2n){border-right:0}.firm-os .estimator-metrics .os-metric:last-child{border-bottom:0}}@media (max-width:520px){.firm-os .estimator-readiness-main,.firm-os .estimator-readiness-summary{padding:18px 16px}.firm-os .estimator-readiness-exchange{grid-template-columns:1fr}.firm-os .estimator-readiness-message{max-width:94%}.firm-os .estimator-readiness-message[data-role=user]{width:auto;max-width:94%}.firm-os .estimator-readiness-composer>div{grid-template-columns:1fr}.firm-os .estimator-scope-boundary{display:grid}.firm-os .estimator-concept-banner{padding:18px 16px}.firm-os .estimator-concept-banner dl{grid-template-columns:1fr;gap:12px}.firm-os .estimator-concept-banner dl>div{padding:0}.firm-os .estimator-concept-gate>div{grid-template-columns:1fr}.firm-os .estimator-real-header-actions>.os-button{width:100%}.firm-os .estimator-real-evidence,.firm-os .estimator-real-gate{padding:18px 16px}.firm-os .estimator-real-floor-head{grid-template-columns:28px minmax(0,1fr)}.firm-os .estimator-real-floor-head>strong{grid-column:2}.firm-os .estimator-real-labels{margin-left:0}.firm-os .estimator-review-detail{grid-template-columns:1fr}.firm-os .estimator-review-field-wide{grid-column:auto}.firm-os .estimator-review-actions{justify-content:flex-start}.firm-os .estimator-rab-inline-detail{grid-template-columns:1fr}.firm-os .estimator-real-previews{padding:16px}.firm-os .estimator-drawing-view-switch{width:100%}.firm-os .estimator-drawing-actions{flex-direction:column-reverse;align-items:stretch}.firm-os .estimator-drawing-view-switch button{flex:1}.firm-os .estimator-normalized-canvas>div{height:330px;padding:10px}.firm-os .estimator-normalized-canvas>.estimator-source-overlay{height:440px;padding:0}.firm-os .estimator-normalized-canvas figcaption{grid-template-columns:1fr;gap:4px}.firm-os .estimator-normalized-index{grid-template-columns:1fr}.firm-os .estimator-normalized-provenance,.firm-os .estimator-normalized-index>p{grid-column:auto}}@media (prefers-reduced-motion:reduce){.firm-os .estimator-progress-track span{transition:none}}.firm-os .estimator-floor-selector{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:22px;display:flex}.firm-os .estimator-floor-selector label{color:var(--os-muted);align-items:center;gap:12px;font-size:13px;display:flex}.firm-os .estimator-floor-note{color:var(--os-muted);margin:12px 0;font-size:12px;line-height:1.5}.firm-os .estimator-floor-items{margin-top:16px;display:grid}.firm-os .estimator-floor-items>button{text-align:left;border:0;border-top:1px solid var(--os-line);color:var(--os-text);background:0 0;justify-content:space-between;gap:16px;padding:12px 8px;font-size:13px;display:flex}.firm-os .estimator-floor-items>button[data-active=true]{background:var(--os-raised)}.firm-os .estimator-floor-items>button span:last-child{color:var(--os-muted);white-space:nowrap}.firm-os .estimator-plan-inspector-head{border-bottom:1px solid var(--os-line);gap:4px;padding:12px 15px;display:grid}.firm-os .estimator-plan-inspector-head>span{text-transform:uppercase;letter-spacing:.06em;color:var(--os-muted);font-size:10px}.firm-os .estimator-plan-inspector-head strong{align-items:center;gap:8px;font-size:15px;font-weight:560;display:inline-flex}.firm-os .estimator-plan-inspector-head strong i{border-radius:3px;width:12px;height:12px}.firm-os .estimator-plan-inspector-empty{color:var(--os-muted);font-weight:450!important}.firm-os .estimator-plan-inspector-hint{color:var(--os-muted);margin:0;font-size:12px;line-height:1.5}.firm-os .estimator-plan-selection{background:var(--os-surface);border:1px solid var(--os-line-strong);border-radius:3px;gap:10px;margin:12px 15px;padding:12px;display:grid}.firm-os .estimator-plan-selection dl{border-top:1px solid var(--os-line);margin:0;display:grid}.firm-os .estimator-plan-selection dl>div{border-bottom:1px solid var(--os-line);justify-content:space-between;gap:10px;padding:6px 0;font-size:12px;display:flex}.firm-os .estimator-plan-selection dt{color:var(--os-muted)}.firm-os .estimator-plan-selection dd{text-align:right;color:var(--os-text);font-variant-numeric:tabular-nums;margin:0}.firm-os .estimator-plan-selection label{color:var(--os-muted);gap:4px;font-size:11px;display:grid}.firm-os .estimator-plan-selection-actions{flex-wrap:wrap;gap:6px;padding-top:2px;display:flex}.firm-os .estimator-plan-selection-actions .estimator-delete{margin-left:auto}.firm-os .estimator-plan-selection>small{color:var(--os-muted);font-size:11px;line-height:1.45}.firm-os .estimator-plan-rooms{gap:6px;display:grid}.firm-os .estimator-plan-rooms>span{text-transform:uppercase;letter-spacing:.06em;color:var(--os-muted);font-size:10px}.firm-os .estimator-plan-rooms button{text-align:left;background:var(--os-bg);border:1px solid var(--os-line);color:var(--os-text);cursor:pointer;gap:2px;padding:8px 10px;display:grid}.firm-os .estimator-plan-rooms button:hover,.firm-os .estimator-plan-rooms button[data-active=true]{background:var(--os-raised);border-color:var(--os-line-strong)}.firm-os .estimator-plan-rooms button[data-category=outdoor],.firm-os .estimator-plan-rooms button[data-category=garage]{opacity:.7}.firm-os .estimator-plan-rooms strong{font-size:12px;font-weight:550}.firm-os .estimator-plan-rooms small{color:var(--os-muted);font-size:11px}.firm-os .estimator-plan-chat{border-top:1px solid var(--os-line);gap:6px;margin-top:auto;padding:12px 15px;display:flex}.firm-os .estimator-plan-chat .os-button{height:32px;padding:0 11px;font-size:12px}.firm-os .estimator-plan-chat .os-button[data-variant=primary]{flex:1}.firm-os .estimator-plan-chat label{text-transform:uppercase;letter-spacing:.06em;color:var(--os-muted);font-size:10px}.firm-os .estimator-plan-chat textarea{resize:vertical;min-height:56px}.firm-os .estimator-plan-chat>div{gap:6px;display:flex}.firm-os .estimator-plan-chat>small{color:var(--os-muted);font-size:11px}.firm-os .estimator-plan-proposal{background:#d9770614;border:1px solid #d9770680;gap:8px;padding:12px;display:grid}.firm-os .estimator-plan-proposal>span{font-size:11px;font-weight:550}.firm-os .estimator-plan-proposal p{color:var(--os-text-soft);margin:0;font-size:12px}.firm-os .estimator-plan-proposal ol{margin:0;padding-left:18px;font-size:12px;line-height:1.5}.firm-os .estimator-plan-proposal small{color:var(--os-muted);font-size:11px}.firm-os .estimator-plan-proposal>div{gap:6px;display:flex}.firm-os .estimator-plan-status{color:var(--os-muted);margin:0;padding:0 15px 12px;font-size:11px}.firm-os .estimator-plan-status[data-error=true]{color:#f87171}.firm-os .estimator-plan-wall,.firm-os .estimator-plan-opening,.firm-os .estimator-extracted-stairs polygon{pointer-events:none}.firm-os .estimator-source-overlay[data-tool=select] .estimator-plan-wall,.firm-os .estimator-source-overlay[data-tool=select] .estimator-plan-opening,.firm-os .estimator-source-overlay[data-tool=select] .estimator-extracted-stairs polygon{pointer-events:visibleStroke;cursor:pointer}.firm-os .estimator-source-overlay[data-tool=select] .estimator-extracted-stairs polygon{pointer-events:visible}.firm-os .estimator-source-overlay:not([data-tool=select]) .estimator-plan-region,.firm-os .estimator-source-overlay:not([data-tool=select]) .estimator-plan-hotspot{pointer-events:none}.firm-os .estimator-source-overlay[data-tool=wall] svg,.firm-os .estimator-source-overlay[data-tool=door] svg,.firm-os .estimator-source-overlay[data-tool=window] svg,.firm-os .estimator-source-overlay[data-tool=area] svg,.firm-os .estimator-source-overlay[data-tool=stair] svg{cursor:crosshair}.firm-os .estimator-source-overlay[data-tool=select][data-zoomed=true] svg,.firm-os .estimator-source-overlay[data-grab=true] svg{cursor:grab}.firm-os .estimator-source-overlay[data-panning=true] svg{cursor:grabbing}.firm-os .estimator-plan-hit{stroke:#0000;stroke-width:.32px;vector-effect:none}.firm-os .estimator-plan-wall[data-edited=true] line:first-child{stroke:#15803db3}.firm-os .estimator-plan-wall[data-divider=true] line:first-child{stroke:#64748be6;stroke-dasharray:.18 .12}.firm-os .estimator-plan-wall[data-active=true] line:first-child{stroke:#e5a02c}.firm-os .estimator-plan-wall:hover line:first-child{stroke:#e5a02ccc}.firm-os .estimator-plan-opening[data-active=true] line:first-child{stroke:#e5a02c;stroke-width:4px}.firm-os .estimator-plan-opening[data-edited=true] line:first-child{stroke-dasharray:none}.firm-os .estimator-extracted-stairs polygon[data-active=true]{stroke:#e5a02c;fill:#e5a02c40}.firm-os .estimator-plan-region[data-excluded=true] polygon{fill:#6b728047;stroke:#6b7280b3;stroke-dasharray:4 3}.firm-os .estimator-plan-region[data-manual=true] polygon{fill:#15803d24;stroke:#15803dd9;stroke-width:1.6px}.firm-os .estimator-plan-region[data-manual=true][data-active=true] polygon{fill:#15803d42}.firm-os .estimator-plan-region-label{fill:#15803df2;pointer-events:none;paint-order:stroke;stroke:#f1efe8;stroke-width:.08px;font-size:.24px;font-weight:700}.firm-os .estimator-plan-hotspot[data-excluded=true]{opacity:.45}.firm-os .estimator-wall-draft line{stroke:#e5a02c;stroke-width:.12px;stroke-dasharray:.2 .1;pointer-events:none}.firm-os .estimator-wall-draft circle{fill:#e5a02c;pointer-events:none}.firm-os .estimator-wall-draft text{fill:#b45309;text-anchor:middle;paint-order:stroke;stroke:#f1efe8;stroke-width:.08px;pointer-events:none;font-size:.26px;font-weight:600}.firm-os .estimator-plan-legend i[data-kind=edited]{background:#15803d40;border:1px solid #15803de6}.firm-os .estimator-overlay-labels button[data-status=excluded]{opacity:.6}.firm-os .estimator-overlay-labels button[data-status=manual] span{background:#15803d40}.firm-os .estimator-plan-selection p{color:var(--os-muted);margin:0;font-size:12px;line-height:1.45}.firm-os .estimator-canvas-tools{z-index:3;border:1px solid var(--os-line-strong);background:#191919f0;gap:3px;padding:4px;display:grid;position:absolute;top:10px;left:10px;box-shadow:0 6px 24px #0006}.firm-os .estimator-canvas-tools button{width:54px;color:var(--os-muted);letter-spacing:.02em;cursor:pointer;background:0 0;border:0;justify-items:center;gap:3px;padding:7px 4px 6px;font-size:10px;display:grid}.firm-os .estimator-canvas-tools button:hover{background:var(--os-raised);color:var(--os-text)}.firm-os .estimator-canvas-tools button[data-active=true]{background:var(--os-accent);color:var(--os-accent-foreground)}.firm-os .estimator-canvas-tools button[data-undo]{border-top:1px solid var(--os-line);margin-top:2px}.firm-os .estimator-canvas-tools i{border:1.5px solid;border-radius:3px;width:18px;height:18px;display:block}.firm-os .estimator-canvas-tools i[data-tool=select]{border-radius:50% 50% 50% 0;transform:rotate(-45deg)scale(.85)}.firm-os .estimator-canvas-tools i[data-tool=wall]{background:currentColor;border-radius:1px;width:22px;height:6px;margin:6px 0}.firm-os .estimator-canvas-tools i[data-tool=door]{border-bottom-width:3px;border-radius:9px 9px 0 0}.firm-os .estimator-canvas-tools i[data-tool=window]{border-style:dashed;border-radius:1px}.firm-os .estimator-canvas-tools i[data-tool=stair]{background:linear-gradient(to bottom right,#0000 46%,currentColor 47% 54%,#0000 55%),repeating-linear-gradient(0deg,currentColor 0 1.5px,#0000 1.5px 5px);border:0;border-radius:0;width:22px;height:17px}.firm-os .estimator-canvas-tools i[data-tool=area]{border-style:dotted;border-radius:1px;width:22px;height:16px;margin:1px 0}.firm-os .estimator-canvas-tools i[data-tool=undo]{background:0 0;border-width:0;border-radius:0;width:18px;height:18px;position:relative}.firm-os .estimator-canvas-tools i[data-tool=undo]:before{content:"↶";place-items:center;font-size:16px;line-height:1;display:grid;position:absolute;inset:0}.firm-os .estimator-canvas-zoom{z-index:3;border:1px solid var(--os-line-strong);background:#191919f0;display:flex;position:absolute;top:10px;right:10px;box-shadow:0 6px 24px #0004}.firm-os .estimator-canvas-zoom button{min-width:34px;height:32px;color:var(--os-text-soft);border:0;border-right:1px solid var(--os-line);font:inherit;cursor:pointer;background:0 0;padding:0 8px;font-size:11px}.firm-os .estimator-canvas-zoom button:last-child{border-right:0}.firm-os .estimator-canvas-zoom button:nth-child(2){min-width:54px;color:var(--os-muted);font-size:10px}.firm-os .estimator-canvas-zoom button:hover:not(:disabled){color:var(--os-text);background:var(--os-raised)}.firm-os .estimator-canvas-zoom button:disabled{opacity:.35;cursor:default}.firm-os .estimator-polygon-draft polyline{fill:none;stroke:var(--os-good);stroke-width:.1px;stroke-dasharray:.2 .12;vector-effect:non-scaling-stroke;pointer-events:none}.firm-os .estimator-polygon-draft circle{fill:var(--os-good);stroke:#f1efe8;stroke-width:1.5px;vector-effect:non-scaling-stroke;pointer-events:none}.firm-os .estimator-polygon-draft circle[data-first=true]{fill:#f1efe8;stroke:var(--os-good)}.firm-os .estimator-stair-draft{fill:#7e22ce1f;stroke:#7e22ce;stroke-width:2px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke;pointer-events:none}@media (prefers-reduced-motion:reduce){.firm-os .estimator-analysis[data-running=true]:after,.firm-os .estimator-analysis[data-running=true] .estimator-progress-track span,.firm-os .estimator-thinking>span i,.firm-os .estimator-analysis-list li[data-current=true] span{animation:none}}.firm-os .estimator-area-handles rect{fill:#f1efe8;stroke:#15803d;stroke-width:1.6px;vector-effect:non-scaling-stroke;cursor:nwse-resize}.firm-os .estimator-area-handles rect[data-corner="1"],.firm-os .estimator-area-handles rect[data-corner="3"]{cursor:nesw-resize}.firm-os .estimator-area-drag rect{fill:#15803d1f;stroke:#15803d;stroke-width:1.4px;stroke-dasharray:5 3;vector-effect:non-scaling-stroke;pointer-events:none}.firm-os .estimator-area-drag text{fill:#15803d;paint-order:stroke;stroke:#f1efe8;stroke-width:.08px;pointer-events:none;font-size:.26px;font-weight:600}.firm-os .estimator-plan-rename{color:var(--os-muted);gap:4px;font-size:11px;display:grid}.firm-os .estimator-plan-selection-hint{color:var(--os-muted);margin:0;font-size:11px;line-height:1.45}.firm-os .estimator-plan-selection>header{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;display:grid}.firm-os .estimator-plan-selection>header>i{border-radius:2px;width:10px;height:10px}.firm-os .estimator-plan-selection>header>div{min-width:0;display:grid}.firm-os .estimator-plan-selection>header span{letter-spacing:.06em;text-transform:uppercase;color:var(--os-muted);font-size:10px}.firm-os .estimator-plan-selection>header strong{letter-spacing:-.01em;color:var(--os-text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:560;overflow:hidden}.firm-os .estimator-plan-selection>header .os-badge{white-space:nowrap;justify-self:end}.firm-os .estimator-plan-selection-close{width:24px;height:24px;color:var(--os-muted);font-size:16px;line-height:1}.firm-os .estimator-normalized-provenance strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.firm-os .estimator-plan-inspector .estimator-overlay-labels{flex:auto;align-content:start;min-height:0;max-height:none;overflow:auto}.firm-os .estimator-plan-inspector .estimator-overlay-detail{margin:0 15px 12px}.firm-os .estimator-plan-inspector-empty{font-size:13px}.firm-os .estimator-plan-wall[data-ghost] line:first-child{stroke:#dc2626}.firm-os .estimator-plan-wall[data-ghost=added] line:first-child{stroke-dasharray:.22 .12}.firm-os .estimator-plan-opening[data-ghost] line:first-child{stroke:#dc2626;stroke-dasharray:4 3}.firm-os .estimator-extracted-stairs polygon[data-ghost]{stroke:#dc2626;fill:#dc26262e}.firm-os .estimator-plan-region[data-ghost] polygon{fill:#dc262624;stroke:#dc2626;stroke-width:1.6px;stroke-dasharray:5 3}.firm-os .estimator-plan-region[data-ghost] .estimator-plan-region-label{fill:#dc2626}.firm-os .estimator-plan-ghost-removed{pointer-events:none}.firm-os .estimator-plan-ghost-removed line{stroke:#dc26268c;stroke-dasharray:.12 .12;vector-effect:non-scaling-stroke}.firm-os .estimator-plan-ghost-removed line[data-opening]{stroke-width:3px;stroke-dasharray:3 3}.firm-os .estimator-plan-ghost-removed polygon{fill:#dc26261f;stroke:#dc26268c;stroke-dasharray:4 3;stroke-width:1.4px;vector-effect:non-scaling-stroke}.firm-os .estimator-plan-region[data-active=true] polygon,.firm-os .estimator-plan-region[data-status=review][data-active=true] polygon,.firm-os .estimator-plan-region[data-manual=true][data-active=true] polygon,.firm-os .estimator-plan-region[data-excluded=true][data-active=true] polygon{fill:#f59e0b57;stroke:#f59e0b;stroke-width:3px;stroke-dasharray:none;filter:drop-shadow(0 0 3px #f59e0be6)}.firm-os .estimator-plan-wall[data-active=true] line:first-child{stroke:#f59e0b;filter:drop-shadow(0 0 2px #f59e0be6)}.firm-os .estimator-plan-opening[data-active=true] line:first-child{stroke:#f59e0b;stroke-width:5px;stroke-dasharray:none;filter:drop-shadow(0 0 2px #f59e0be6)}.firm-os .estimator-extracted-stairs polygon[data-active=true]{stroke:#f59e0b;stroke-width:3px;fill:#f59e0b57}.firm-os .estimator-plan-hotspot[data-active=true] circle{fill:#f59e0b;stroke:#1a1a1a;stroke-width:2.5px}.firm-os .estimator-plan-hotspot[data-active=true] text{fill:#1a1a1a}.firm-os .estimator-overlay-labels>button[data-active=true]{box-shadow:inset 3px 0 #f59e0b}.firm-os .estimator-plan-selection>header>i{box-shadow:0 0 0 2px #f59e0b59}.firm-os .estimator-plan-selection{gap:5px;margin:8px;padding:8px}.firm-os .estimator-plan-selection>header{gap:5px}.firm-os .estimator-plan-selection .estimator-plan-name{background:0 0;border-color:#0000;width:100%;min-width:0;height:26px;padding:2px 0;font-size:12px}.firm-os .estimator-plan-selection .estimator-plan-name:focus{border-color:var(--os-line-strong)}.firm-os .estimator-plan-selection dl{border:0;flex-wrap:wrap;gap:3px 12px;display:flex}.firm-os .estimator-plan-selection dl>div{border:0;flex-wrap:wrap;gap:4px;padding:0;font-size:11px;line-height:1.4;display:flex}.firm-os .estimator-plan-selection-actions{align-items:center;gap:4px;padding:0}.firm-os .estimator-plan-selection-actions small{color:var(--os-muted);font-size:10px}.firm-os .estimator-plan-selection-actions .os-button{height:26px;padding:0 5px;font-size:11px}.firm-os .estimator-plan-selection-hint{margin:0;font-size:10px;line-height:1.3}.firm-os .estimator-extracted-stairs g:focus{outline:none}.firm-os .estimator-extracted-stairs g:focus-visible polygon{stroke:#f59e0b;stroke-width:3px;vector-effect:non-scaling-stroke}
.q-workspace,.q-client,.q-preview-shell{color:var(--os-text)}.q-workspace button,.q-client button,.q-preview-shell button{font:inherit}.q-commandbar,.q-preview-bar,.q-client-topline{justify-content:space-between;align-items:center;gap:16px;display:flex}.q-commandbar{margin-bottom:18px}.q-status-cluster,.q-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.q-status-dot{background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.q-editor-grid{grid-template-columns:minmax(0,1fr) 286px;align-items:start;gap:18px;display:grid}.q-document-frame{background:var(--os-bg);border:1px solid var(--os-line);padding:22px}.q-document{background:var(--os-surface);border:1px solid var(--os-line);width:min(100%,920px);color:var(--os-text);box-shadow:none;margin:0 auto}.q-doc-head{border-bottom:1px solid var(--os-line);justify-content:space-between;align-items:flex-start;padding:30px 34px 24px;display:flex}.q-doc-wordmark{letter-spacing:-.01em;font-size:18px;font-weight:600}.q-doc-id{text-align:right;color:var(--os-muted);gap:4px;font-size:12px;display:grid}.q-doc-id strong{color:var(--os-text);font-size:12px;font-weight:560}.q-doc-intro{border-bottom:1px solid var(--os-line);grid-template-columns:1.4fr 1fr;gap:38px;padding:52px 34px 40px;display:grid}.q-doc-intro h2,.q-client-hero h2{letter-spacing:-.03em;margin:0;font-size:clamp(28px,4vw,48px);font-weight:540;line-height:1.04}.q-doc-intro p:last-child,.q-client-hero p:last-child{color:var(--os-muted);margin:12px 0 0}.q-doc-total{text-align:right;border-left:1px solid var(--os-line);flex-direction:column;justify-content:flex-end;align-items:flex-end;padding-left:28px;display:flex}.q-doc-total span,.q-doc-total small,.q-client-price span,.q-client-price small{color:var(--os-muted);font-size:12px}.q-doc-total strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:8px 0 5px;font-size:clamp(22px,3vw,34px);font-weight:520}.q-doc-meta{border-bottom:1px solid var(--os-line);grid-template-columns:repeat(4,1fr);display:grid}.q-doc-meta>div{border-right:1px solid var(--os-line);gap:7px;min-width:0;padding:17px 20px;display:grid}.q-doc-meta>div:last-child{border-right:0}.q-doc-meta span{color:var(--os-muted);font-size:12px}.q-doc-meta strong{text-overflow:ellipsis;font-size:12px;font-weight:540;overflow:hidden}.q-scope-head{justify-content:space-between;align-items:end;gap:24px;padding:32px 34px 16px;display:flex}.q-scope-head>div{gap:4px;display:grid}.q-scope-head span{color:var(--os-muted);font-size:12px}.q-scope-head strong{font-size:16px;font-weight:540}.q-scope-head p{max-width:340px;color:var(--os-muted);text-align:right;margin:0;font-size:12px}.q-doc-section{border-top:1px solid var(--os-line);margin:0 34px}.q-doc-section-title{justify-content:space-between;align-items:center;padding:16px 0 10px;display:flex}.q-doc-section-title h3{margin:0;font-size:12px;font-weight:590}.q-doc-section-title>strong{font-variant-numeric:tabular-nums;font-size:12px;font-weight:540}.q-doc-row{border-top:1px solid var(--os-line);grid-template-columns:24px minmax(0,1fr) 80px 156px;align-items:center;gap:12px;padding:10px 0;font-size:12px;display:grid}.q-row-qty{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.q-row-no{color:var(--os-muted);font-variant-numeric:tabular-nums}.q-doc-row>div{gap:3px;display:grid}.q-doc-row>div strong{font-size:14px;font-weight:530}.q-doc-row>div span,.q-row-qty{color:var(--os-muted);font-size:12px}.q-doc-row>strong{text-align:right;font-variant-numeric:tabular-nums;font-size:12px;font-weight:530}.q-doc-summary{border-top:1px solid var(--os-line);grid-template-columns:1.25fr 1fr;gap:48px;margin-top:38px;padding:28px 34px 34px;display:grid}.q-terms{gap:7px;display:grid}.q-terms strong{font-size:12px}.q-terms p{color:var(--os-muted);margin:0;font-size:12px;line-height:1.45}.q-total-ledger{gap:8px;display:grid}.q-total-ledger>div{color:var(--os-muted);justify-content:space-between;font-size:12px;display:flex}.q-total-final{border-top:1px solid var(--os-line);padding-top:13px;color:var(--os-text)!important;font-size:17px!important}.q-total-final strong{font-weight:560}.q-document--compact .q-doc-head{padding:24px 28px 19px}.q-document--compact .q-doc-intro{padding:40px 28px 32px}.q-document--compact .q-doc-section{margin-inline:28px}.q-document--compact .q-scope-head,.q-document--compact .q-doc-summary{padding-inline:28px}.q-control-rail{gap:12px;display:grid;position:sticky;top:16px}.q-rail-panel{padding:18px}.q-rail-panel .os-section-head{margin-bottom:9px}.q-rail-panel p{margin:0 0 16px;font-size:12px;line-height:1.5}.q-full{justify-content:center;width:100%}.q-rail-list{margin:0;display:grid}.q-rail-list>div{border-top:1px solid var(--os-line);justify-content:space-between;gap:16px;padding:10px 0;font-size:12px;display:flex}.q-rail-list dt{color:var(--os-muted)}.q-rail-list dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:560}.q-draft-list{display:grid}.q-copy-button{border:0;border-top:1px solid var(--os-line);width:100%;color:var(--os-text);text-align:left;cursor:pointer;background:0 0;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 0;font-size:12px;display:grid}.q-copy-button:hover strong{color:var(--os-link)}.q-copy-button>span:nth-child(2){gap:3px;min-width:0;display:grid}.q-copy-button strong{text-overflow:ellipsis;font-size:12px;font-weight:560;overflow:hidden}.q-copy-button small{color:var(--os-muted);font-size:12px}.q-draft-list svg{color:var(--os-muted)}.q-preview-shell{background:var(--os-bg);min-height:calc(100vh - 140px);padding:0 26px 42px}.q-preview-bar{z-index:2;background:var(--os-bg);padding:12px 0;position:sticky;top:0}.q-preview-shell .q-document{max-width:980px}.q-client{width:min(100%,1120px);margin:0 auto}.q-client-topline{border-bottom:1px solid var(--os-line);min-height:42px;color:var(--os-muted);font-size:12px}.q-client-hero{justify-content:space-between;align-items:flex-end;gap:40px;padding:46px 4px 34px;display:flex}.q-client-price{text-align:right;gap:4px;display:grid}.q-client-price strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:27px;font-weight:540}.q-client-tabs{border-top:1px solid var(--os-line);border-bottom:1px solid var(--os-line);display:flex;overflow:auto}.q-client-tabs button{color:var(--os-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:14px 18px 12px;font-size:12px}.q-client-tabs button:hover{color:var(--os-text)}.q-client-tabs button.is-active{color:var(--os-text);border-color:var(--os-accent)}.q-client-content{padding-top:22px}.q-client-overview{gap:14px;display:grid}.q-overview-lead{background:var(--os-surface);border-top:1px solid var(--os-line);justify-content:space-between;align-items:flex-end;gap:40px;min-height:260px;padding:34px;display:flex}.q-overview-lead h3{letter-spacing:-.03em;max-width:640px;margin:0;font-size:32px;font-weight:500;line-height:1.08}.q-overview-lead p:last-child{max-width:620px;line-height:1.55}.q-progress-orbit{aspect-ratio:1;border:1px solid var(--os-line);text-align:center;width:138px;min-width:138px;box-shadow:none;place-content:center;display:grid}.q-progress-orbit strong{font-size:27px;font-weight:520}.q-progress-orbit span{color:var(--os-muted);margin-top:2px;font-size:12px}.q-client-card{gap:8px;padding:22px;display:grid}.q-client-card svg{color:var(--os-link)}.q-client-card>span{color:var(--os-muted);font-size:12px}.q-client-card>strong{font-size:18px;font-weight:540}.q-client-card p{color:var(--os-muted);margin:0;font-size:12px}.q-design-board{grid-template-columns:minmax(0,1fr) 300px;gap:14px;display:grid}.q-design-image{border:1px solid var(--os-line);background:url(/images/living-room.png) 50%/cover;align-items:flex-end;min-height:520px;padding:26px;display:flex}.q-design-image>div{border-left:1px solid var(--os-accent);background:#0d0f10db;gap:4px;padding:13px 15px;display:grid}.q-design-image span{color:#d2d2ce;font-size:12px}.q-design-image strong{font-size:17px}.q-design-board aside{align-self:stretch;padding:24px}.q-design-board aside h3{margin:0 0 12px;font-size:23px}.q-design-board aside>p{line-height:1.55}.q-design-board aside .q-rail-list{margin:24px 0}.q-client-quotation{min-width:0;padding-bottom:92px;overflow-x:auto}.q-client-quotation .q-document{max-width:900px}.q-client-sticky{background:var(--os-surface);border:1px solid var(--os-line);justify-content:flex-end;align-items:center;gap:8px;width:min(760px,100% - 24px);margin:-24px auto 0;padding:12px 14px;display:flex;position:sticky;bottom:12px;box-shadow:0 16px 44px #00000059}.q-client-sticky>div{margin-right:auto;display:grid}.q-client-sticky span{color:var(--os-muted);font-size:12px}.q-client-sticky strong{font-size:15px}.q-selections{gap:20px;display:grid}.q-section-copy h3{margin:0 0 8px;font-size:28px;font-weight:520}.q-section-copy p{max-width:600px;margin:0}.q-finish-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.q-finish-card{text-align:left;background:var(--os-surface);color:var(--os-text);border:1px solid var(--os-line);cursor:pointer;grid-template-rows:150px auto;gap:16px;padding:0 0 17px;display:grid;position:relative}.q-finish-card:hover{border-color:#555b60}.q-finish-card.is-selected{border-color:var(--os-accent)}.q-finish-card>div{gap:4px;padding:0 17px;display:grid}.q-finish-card>div span{color:var(--os-link);font-size:12px}.q-finish-card>div strong{font-size:16px;font-weight:530}.q-finish-card>div small{color:var(--os-muted)}.q-finish-card>b{padding:0 17px;font-size:13px;font-weight:520}.q-finish-card>svg{color:var(--os-link);position:absolute;top:164px;right:14px}.q-swatch{border-bottom:1px solid var(--os-line);background:#715037;width:100%;height:150px;display:block;box-shadow:inset 0 32px #ffffff06,inset 0 -42px #00000014}.q-swatch-2{background:#a38765}.q-swatch-3{background:#b8ad9d}.q-selection-impact{grid-template-columns:repeat(3,1fr);padding:20px;display:grid}.q-selection-impact>div{border-left:1px solid var(--os-line);gap:5px;padding-left:20px;display:grid}.q-selection-impact>div:first-child{border:0;padding-left:0}.q-selection-impact span{color:var(--os-muted);font-size:12px}.q-selection-impact strong{font-size:14px}.q-timeline{padding:26px}.q-timeline-row{grid-template-columns:62px 12px minmax(0,1fr);gap:16px;min-height:78px;display:grid}.q-timeline-row>span{color:var(--os-muted);padding-top:2px;font-size:12px}.q-timeline-row i{border:2px solid #666d72;border-radius:50%;width:9px;height:9px;position:relative}.q-timeline-row i:after{content:"";background:var(--os-line);width:1px;height:56px;position:absolute;top:11px;left:2px}.q-timeline-row:last-of-type i:after{display:none}.q-timeline-row i.is-current{border-color:var(--os-accent);background:var(--os-accent)}.q-timeline-row>div{align-content:start;gap:4px;display:grid}.q-timeline-row strong{font-size:13px}.q-timeline-row small{color:var(--os-muted)}.q-schedule-note{background:color-mix(in srgb,var(--os-warn) 8%,var(--os-surface));border:1px solid var(--os-line);color:var(--os-warn);align-items:center;gap:10px;padding:13px;font-size:12px;display:flex}.q-approvals{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.q-approval-card,.q-ai-revision,.q-change-order,.q-comment-box{padding:22px}.q-approval-head{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.q-approval-head>div{gap:5px;display:grid}.q-approval-head span:first-child{color:var(--os-muted);font-size:12px}.q-approval-head h3{margin:0;font-size:20px;font-weight:540}.q-approval-card>p{color:var(--os-muted);margin:18px 0;font-size:12px;line-height:1.55}.q-approval-actions{justify-content:flex-end;gap:8px;display:flex}.q-revision-form{border-top:1px solid var(--os-line);gap:9px;margin-top:20px;padding-top:20px;display:grid}.q-revision-form label{font-size:12px}.q-revision-form textarea,.q-comment-box textarea{resize:vertical;min-height:86px;padding:11px;line-height:1.45}.q-revision-form button{justify-self:end}.q-field-error{color:#e59483!important;margin:0!important;font-size:12px!important}.q-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:12px;height:12px;animation:.7s linear infinite q-spin}.q-ai-revision{grid-row:span 2}.q-ai-heading{align-items:flex-start;gap:11px;display:flex}.q-ai-heading svg{color:var(--os-link)}.q-ai-heading>div{gap:5px;display:grid}.q-ai-heading span{color:var(--os-link);font-size:12px}.q-ai-heading h3{margin:0;font-size:20px;font-weight:540}.q-change-flow{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:24px 0;display:grid}.q-change-flow>div{background:var(--os-raised);border:1px solid var(--os-line);gap:5px;padding:14px;display:grid}.q-change-flow span,.q-change-flow small,.q-saving-line span,.q-before-after span,.q-before-after small{color:var(--os-muted);font-size:12px}.q-change-flow strong{font-size:12px}.q-change-flow>svg,.q-before-after>svg{color:var(--os-muted)}.q-positive{color:var(--os-warn)!important}.q-saving-line{border-block:1px solid var(--os-line);justify-content:space-between;align-items:flex-end;gap:20px;padding:14px 0;display:flex}.q-saving-line>div{gap:4px;display:grid}.q-saving-line strong{font-size:12px}.q-saving-line>strong{color:var(--os-good)}.q-before-after{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:20px 0;display:grid}.q-before-after>div{gap:5px;display:grid}.q-before-after strong{font-size:16px}.q-before-after>div:last-child{text-align:right}.q-before-after small{color:var(--os-good)}.q-change-metrics{background:var(--os-line);border:1px solid var(--os-line);grid-template-columns:repeat(3,1fr);gap:1px;margin:20px 0;display:grid}.q-change-metrics>div{background:var(--os-surface);gap:6px;padding:14px;display:grid}.q-change-metrics span{color:var(--os-muted);font-size:12px}.q-change-metrics strong{font-size:13px}.q-change-order>button{margin-left:auto;display:flex}.q-comment-box{gap:12px;display:grid}.q-comment-box>div{gap:10px;display:flex}.q-comment-box>div>div{gap:4px;display:grid}.q-comment-box span{font-size:12px}.q-comment-box p{color:var(--os-muted);margin:0;font-size:12px}.q-comment-box>button{justify-self:end}.q-procurement-gate{border:1px solid var(--os-line);background:var(--os-ai-surface);grid-column:1/-1;justify-content:space-between;align-items:center;gap:30px;padding:22px;display:flex}.q-procurement-gate>div{gap:4px;display:grid}.q-procurement-gate span{color:var(--os-link);font-size:12px}.q-procurement-gate strong{font-size:15px}.q-procurement-gate p{color:var(--os-muted);margin:0;font-size:12px}@keyframes q-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.q-spinner{animation:none}}@media (max-width:1280px){.q-editor-grid{grid-template-columns:1fr}.q-control-rail{grid-template-columns:repeat(2,1fr);position:static}.q-design-board{grid-template-columns:1fr}.q-design-board aside{min-height:auto}.q-approvals{grid-template-columns:1fr}.q-ai-revision{grid-row:auto}.q-procurement-gate{grid-column:auto}.q-overview-lead{min-height:220px}.q-finish-grid{grid-template-columns:repeat(3,minmax(190px,1fr));overflow-x:auto}}@media (max-width:720px){.q-commandbar,.q-preview-bar,.q-client-topline,.q-client-hero,.q-overview-lead,.q-procurement-gate{flex-direction:column;align-items:flex-start}.q-commandbar .q-actions{width:100%}.q-commandbar .q-actions .os-button{flex:1}.q-document-frame{padding:8px;overflow:auto}.q-document{min-width:650px}.q-control-rail{grid-template-columns:1fr}.q-preview-shell{padding-inline:8px;overflow:auto}.q-preview-bar{align-items:stretch}.q-client-price{text-align:left}.q-client-tabs{margin-inline:-16px;padding-inline:8px}.q-progress-orbit{width:110px;min-width:110px}.q-finish-grid{margin-right:-16px}.q-selection-impact{grid-template-columns:1fr}.q-selection-impact>div{border-left:0;border-top:1px solid var(--os-line);padding:12px 0}.q-selection-impact>div:first-child{border-top:0}.q-client-sticky{flex-direction:column;align-items:stretch}.q-client-sticky>div{margin-right:0}.q-change-metrics{grid-template-columns:1fr}.q-actions{grid-template-columns:repeat(2,1fr);display:grid}.q-doc-intro h2,.q-client-hero h2{font-size:32px}}@media (max-width:480px){.q-client-topline>span{display:none}.q-client-tabs button{padding-inline:13px}.q-overview-lead{padding:24px}.q-overview-lead h3{font-size:25px}.q-change-flow,.q-before-after{grid-template-columns:1fr}.q-change-flow>svg,.q-before-after>svg{justify-self:center;transform:rotate(90deg)}.q-before-after>div:last-child{text-align:left}.q-approval-actions{flex-direction:column}.q-approval-actions .os-button{justify-content:center}}
