/* Fixed-location review workspace: identity / scope / drawing / evidence / checks. */
body[data-workspace="takeoff"]{width:var(--fit-viewport-width,100vw);height:var(--fit-viewport-height,100dvh);min-height:0;overflow:hidden}
body[data-workspace="takeoff"] header,
body[data-workspace="takeoff"] .toolbar,
body[data-workspace="takeoff"] footer{flex-shrink:0}
body[data-workspace="takeoff"] main{min-height:0;overflow:hidden}
body[data-workspace="takeoff"] .stage{min-height:0;overflow:hidden;display:flex;padding:14px}
body[data-workspace="takeoff"] #takeoffView{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}
body[data-workspace="takeoff"] .surface-head{flex-shrink:0;margin-bottom:8px}
body[data-workspace="takeoff"] .caption{flex-shrink:0;margin-top:8px;line-height:1.35}
.takeoff-fit-slot{min-height:0;min-width:0;flex:1;display:flex;align-items:center;justify-content:center}
body[data-workspace="takeoff"] .sheet-frame{flex:none;min-height:0;max-width:100%;max-height:100%;grid-template-columns:minmax(0,1fr) minmax(0,6fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,48fr) minmax(0,1fr);overflow:hidden}
body[data-workspace="takeoff"] .frame-left,
body[data-workspace="takeoff"] .frame-right{min-width:0;min-height:0;overflow:hidden;gap:8px;padding:8px;align-content:start}
body[data-workspace="takeoff"] .register{min-width:0}
body[data-workspace="takeoff"] .register h3{font-size:12px;line-height:1.3;letter-spacing:.2px;margin:5px 0}
body[data-workspace="takeoff"] .register label{font-size:14px;line-height:1.25;padding:6px 0;overflow-wrap:break-word}
body[data-workspace="takeoff"] .frame-top{padding:8px;min-height:0}
body[data-workspace="takeoff"] .frame-bottom{padding:8px;gap:8px;min-height:0;align-content:center}
body[data-workspace="takeoff"] .frame-bottom b{font-size:12px;line-height:1.3}
body[data-workspace="takeoff"] .frame-bottom span{font-size:12px;line-height:1.3;margin-top:3px}
body[data-workspace="takeoff"] aside{min-height:0;overflow:hidden;padding:14px}
body[data-workspace="takeoff"] summary{padding:7px 0}
body[data-workspace="takeoff"] .tree-row button{font-size:14px;padding:7px 4px}
body[data-workspace="takeoff"] .source{padding:8px 0}
body[data-workspace="takeoff"] .space{margin-top:18px}
body[data-workspace="takeoff"] .notice{margin-top:14px;padding:10px}
body[data-workspace="takeoff"] .field{margin-top:14px}
body[data-workspace="takeoff"] .field input,
body[data-workspace="takeoff"] .field textarea{padding:8px;margin-top:5px}
body[data-workspace="takeoff"] textarea{resize:none}
body[data-workspace="takeoff"] #evidence h2{margin:12px 0;font-size:20px}
body[data-workspace="takeoff"] dt{margin-top:10px}
body[data-workspace="takeoff"] footer{padding:10px 22px}
.drawing{min-height:0;min-width:0;overflow:hidden;touch-action:none}
.drawing #drawingInner{width:100%;height:100%;transform-origin:center;will-change:transform}
.drawing img{height:100%;width:100%;object-fit:contain;user-select:none;-webkit-user-drag:none;pointer-events:none}
.drawing[data-zoomed="true"]{cursor:grab}
.drawing[data-dragging="true"]{cursor:grabbing}
@media(min-width:2200px){body[data-workspace="takeoff"] .frame-left,body[data-workspace="takeoff"] .frame-right{grid-template-columns:1fr 1fr}}
@media(max-width:2199px){body[data-workspace="takeoff"] .frame-left,body[data-workspace="takeoff"] .frame-right{grid-template-columns:1fr}}
@media(max-height:900px){
 body[data-workspace="takeoff"] header{padding:8px 18px;gap:20px}
 body[data-workspace="takeoff"] .toolbar{padding:7px 18px}
 body[data-workspace="takeoff"] footer{padding:7px 18px;gap:22px}
 body[data-workspace="takeoff"] aside{padding:10px}
 body[data-workspace="takeoff"] .space{margin-top:12px}
 body[data-workspace="takeoff"] .notice{margin-top:10px;padding:8px}
 body[data-workspace="takeoff"] .hint{margin:7px 0}
 body[data-workspace="takeoff"] summary{padding:5px 0}
 body[data-workspace="takeoff"] .source{padding:5px 0}
 body[data-workspace="takeoff"] .field{margin-top:10px}
 body[data-workspace="takeoff"] .register label{padding:4px 0}
}
@media(max-width:1100px){
 /* A small/zoomed viewport keeps the drawing visible; panels open one at a time. */
 body[data-workspace="takeoff"]{min-height:0}
 body[data-workspace="takeoff"] header{padding:8px;gap:10px}
 body[data-workspace="takeoff"] .brand>div,body[data-workspace="takeoff"] .badge{display:none}
 body[data-workspace="takeoff"] .toolbar{padding:6px 8px}
 body[data-workspace="takeoff"] .toolbar>div:first-child{display:none}
 body[data-workspace="takeoff"] main{position:relative;grid-template-columns:1fr!important}
 body[data-workspace="takeoff"] aside{position:absolute;inset:0 auto 0 0;width:280px;max-height:none;z-index:5;box-shadow:8px 0 24px #0009;overflow:auto}
 body[data-workspace="takeoff"] #evidence{inset:0 0 0 auto}
 body[data-workspace="takeoff"] footer>div:not(:first-child):not(.screen){display:none}
}
@media print{body[data-workspace="takeoff"]{height:auto;overflow:visible}}

/* Use the requested border itself as the control center, not a second outer shell. */
body[data-workspace="takeoff"] main{display:flex!important;flex:1;width:100%;height:100%;min-height:0}
body[data-workspace="takeoff"] .stage{padding:8px;flex:1;background:#090c0e}
body[data-workspace="takeoff"] #takeoffView>.caption{display:none}
body[data-workspace="takeoff"] .frame-top{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:1fr 1fr;padding:0;gap:0;overflow:hidden}
body[data-workspace="takeoff"] .frame-top header{grid-column:1/3;padding:6px 12px;gap:20px;min-width:0;border:0;flex-wrap:nowrap}
body[data-workspace="takeoff"] .frame-top .toolbar{padding:4px 12px;border:0;min-width:0;font-size:14px}
body[data-workspace="takeoff"] .frame-top .toolbar>div:first-child{display:none}
body[data-workspace="takeoff"] .frame-top .controls>label{display:none}
body[data-workspace="takeoff"] .frame-top .surface-head{margin:0;padding:4px 12px;gap:12px;min-width:0}
body[data-workspace="takeoff"] .frame-top .surface-head .eyebrow{display:none}
body[data-workspace="takeoff"] .frame-top .surface-head h1{font-size:16px;white-space:nowrap}
body[data-workspace="takeoff"] .frame-top .surface-head h1 span{font-size:14px}
body[data-workspace="takeoff"] .frame-top .surface-head>div:last-child{white-space:nowrap}
body[data-workspace="takeoff"] .integrated-side{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}
body[data-workspace="takeoff"] .integrated-side.left{grid-column:1;grid-row:2;border-right:1px solid #39545d}
body[data-workspace="takeoff"] .integrated-side.right{grid-column:3;grid-row:2;border-left:1px solid #39545d}
.border-tabs{display:flex;gap:4px;padding:8px;flex-shrink:0;border-bottom:1px solid var(--line)}
.border-tabs button{flex:1;padding:6px 3px;font-size:14px}
.border-tabs button[aria-pressed=true]{border-color:var(--cyan);color:var(--cyan);background:#103137}
body[data-workspace="takeoff"] .integrated-side aside{position:static;width:100%;max-height:none;box-shadow:none;border:0;padding:10px;flex:1;overflow:hidden;background:transparent}
body[data-workspace="takeoff"] .integrated-side .frame-left,body[data-workspace="takeoff"] .integrated-side .frame-right{flex:1;grid-template-columns:1fr 1fr;gap:12px;padding:10px;align-content:start}
body[data-workspace="takeoff"] .frame-bottom{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:1fr 1fr;padding:6px 10px;gap:4px 12px}
body[data-workspace="takeoff"] .frame-bottom footer{grid-column:1/5;padding:4px 0;border-top:1px solid var(--line);gap:22px;background:transparent;min-width:0}
body[data-workspace="takeoff"] .frame-bottom footer strong{font-size:14px}
body[data-workspace="takeoff"] .frame-top span:last-child{color:inherit}
@media(max-width:1900px){
 body[data-workspace="takeoff"] .frame-top .project{display:none}
 body[data-workspace="takeoff"] .frame-top .toolbar{font-size:12px}
 body[data-workspace="takeoff"] .frame-top button{padding:5px 8px}
 body[data-workspace="takeoff"] .frame-top .surface-head h1 span{display:none}
 body[data-workspace="takeoff"] .integrated-side .frame-left,body[data-workspace="takeoff"] .integrated-side .frame-right{grid-template-columns:1fr 1fr;gap:6px}
}

/* Compact 1.5-inch top/bottom bands; retain the 6:36:6 width map. */
body[data-workspace="takeoff"] .sheet-frame{aspect-ratio:auto;grid-template-columns:minmax(0,1fr) var(--plan-width,75%) minmax(0,1fr)}
body[data-workspace="takeoff"] .frame-top header{padding:0 10px;gap:16px;line-height:1.15}
body[data-workspace="takeoff"] .frame-top .brand>b{font-size:22px}
body[data-workspace="takeoff"] .frame-top .brand small{display:none}
body[data-workspace="takeoff"] .frame-top button{padding:2px 8px;line-height:1.3}
body[data-workspace="takeoff"] .frame-top .badge{padding:2px 6px}
body[data-workspace="takeoff"] .frame-top .toolbar,
body[data-workspace="takeoff"] .frame-top .surface-head{padding:0 10px}
body[data-workspace="takeoff"] .frame-top h1{margin:0}
body[data-workspace="takeoff"] .frame-bottom{padding:0 10px;gap:0 12px;align-items:center}
body[data-workspace="takeoff"] .frame-bottom span{margin-top:0}
body[data-workspace="takeoff"] .frame-bottom footer{padding:0;line-height:1.15;flex-wrap:nowrap}
body[data-workspace="takeoff"] .frame-bottom footer .eyebrow{display:none}

/* Half-inch bands above and below the 24-inch drawing. */
body[data-workspace="takeoff"] .frame-top{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr);align-items:center}
body[data-workspace="takeoff"] .frame-top header{grid-column:1;grid-row:1;min-height:0;overflow:hidden}
body[data-workspace="takeoff"] .frame-top .surface-head{grid-column:2;grid-row:1;line-height:1}
body[data-workspace="takeoff"] .frame-top .brand>b{font-size:18px}
body[data-workspace="takeoff"] .frame-top .brand>div,
body[data-workspace="takeoff"] .frame-top .project small{display:none}
body[data-workspace="takeoff"] .frame-top button{padding:0 6px;font-size:14px;line-height:1.2}
body[data-workspace="takeoff"] .frame-top .surface-head h1{font-size:14px}
body[data-workspace="takeoff"] .frame-bottom{grid-template-rows:minmax(0,1fr);overflow:hidden;line-height:1.1}
body[data-workspace="takeoff"] .frame-bottom>div{display:flex;align-items:center;gap:8px;min-width:0}
body[data-workspace="takeoff"] .frame-bottom span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body[data-workspace="takeoff"] .integrated-side .toolbar{padding:8px;border-top:1px solid var(--line)}
body[data-workspace="takeoff"] .integrated-side .toolbar>div:first-child,
body[data-workspace="takeoff"] .integrated-side .controls>label{display:none}
body[data-workspace="takeoff"] .integrated-side .controls{gap:6px}
body[data-workspace="takeoff"] .integrated-side .toolbar button{padding:4px 6px}
body[data-workspace="takeoff"] .integrated-side footer{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:10px;line-height:1.3}
body[data-workspace="takeoff"] .integrated-side footer .screen{margin-left:0}
.sheet-issues{flex-shrink:0;padding:10px;border-top:1px solid var(--line);background:#151c20}
.sheet-issues h3{margin:0 0 8px;font-size:14px;color:#f1c779}
.sheet-issues label{display:block;margin-top:7px;font-size:14px}
.sheet-issues textarea{display:block;width:100%;margin-top:3px;padding:6px;background:#0a1013;color:#e9eff1;border:1px solid #45535c;border-radius:4px;font-size:14px;line-height:1.25;resize:none}
.sheet-issues p{margin:6px 0 0;font-size:12px;color:var(--muted)}

.scale-check input{display:block;width:100%;padding:6px;margin:3px 0 6px;background:#0a1013;color:white;border:1px solid #45535c;border-radius:4px}
.scale-check button{font-size:14px;padding:5px 7px;margin:3px 0}
.scale-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.drawing.scale-picking{cursor:crosshair}

.callout-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.callout-register input{width:100%;display:block;margin:3px 0;padding:5px;background:#0a1013;color:white;border:1px solid #45535c;border-radius:4px;min-width:0}
.callout-register button{padding:4px 7px;margin-top:5px}
#calloutList{max-height:130px;overflow:auto}
.callout-entry{padding:7px 0;border-bottom:1px solid var(--line);font-size:12px;overflow-wrap:anywhere}
.callout-entry p{margin:3px 0}.callout-entry span{color:#f1c779}

.detail-memory-highlights{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.detail-memory-highlights rect{fill:#ffd54f;fill-opacity:.18;stroke:#c98700;stroke-width:3;vector-effect:non-scaling-stroke}

/* Dense sheet registers: keep findings visible; collapse empty entry forms. */
body[data-workspace="takeoff"] .integrated-side .frame-left,
body[data-workspace="takeoff"] .integrated-side .frame-right{flex:none;padding:6px;gap:4px 8px}
body[data-workspace="takeoff"] .integrated-side .register label{font-size:12px;padding:2px 0}
body[data-workspace="takeoff"] .register h3{margin:2px 0;font-size:12px}
body[data-workspace="takeoff"] .border-tabs{padding:5px 6px}
body[data-workspace="takeoff"] .sheet-issues{padding:6px}
body[data-workspace="takeoff"] .sheet-issues h3{margin:0 0 4px;font-size:12px}
body[data-workspace="takeoff"] .sheet-issues p{margin:3px 0;font-size:12px;line-height:1.25}
body[data-workspace="takeoff"] .sheet-issues label{font-size:12px;margin-top:3px}
body[data-workspace="takeoff"] .sheet-issues summary{padding:3px 0;font-size:12px;color:var(--cyan)}
body[data-workspace="takeoff"] .scale-check input{padding:3px;margin:2px 0;font-size:12px}
body[data-workspace="takeoff"] .scale-check button{padding:3px 5px;font-size:12px;margin:2px 0}
body[data-workspace="takeoff"] .fixture-counts{display:grid;grid-template-columns:1fr 1fr}
.fixture-count{display:flex;align-items:center;justify-content:space-between;padding:3px 7px;font-size:14px;border-radius:2px;line-height:1.15}
.fixture-count strong{color:var(--cyan)}
.count-total{grid-column:1/-1;margin:3px 0;font-size:12px;line-height:1.2;color:#efc477}
body[data-workspace="takeoff"] #calloutList{max-height:none;overflow:visible}
body[data-workspace="takeoff"] .callout-entry{padding:3px 0}
.issue-register p{padding:3px 0;border-bottom:1px solid var(--line)}
.wiring-register a{color:var(--cyan)}
body[data-workspace="takeoff"] .integrated-side footer{margin-top:auto;padding:6px;gap:4px}
body[data-workspace="takeoff"] .integrated-side footer>div:not(:first-child){display:none}

/* Takeoff stays left; scale is a compact header control. */
body[data-workspace="takeoff"] .integrated-side{overflow-y:auto;scrollbar-width:thin}
body[data-workspace="takeoff"] .integrated-side #evidence{flex:none;padding:6px}
body[data-workspace="takeoff"] #evidence h2{font-size:14px;margin:4px 0}
body[data-workspace="takeoff"] #evidence .field{margin-top:4px}
body[data-workspace="takeoff"] #evidence .space{margin-top:6px}
body[data-workspace="takeoff"] #evidence dt{margin-top:4px}
body[data-workspace="takeoff"] #evidence .notice{padding:4px;margin-top:4px;font-size:11px}
body[data-workspace="takeoff"] #evidence input{padding:3px}
body[data-workspace="takeoff"] #evidence textarea{height:38px;padding:3px}
body[data-workspace="takeoff"] .frame-top,body[data-workspace="takeoff"] .frame-top header{overflow:visible}
body[data-workspace="takeoff"] .frame-top .scale-check{padding:0;border:0;background:transparent;flex-shrink:0}
body[data-workspace="takeoff"] .frame-top #scaleOpen{font-size:11px;padding:1px 5px;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#scaleEditor{position:fixed;right:16px;top:40px;width:290px;padding:10px;background:#151c20;border:1px solid #45535c;box-shadow:0 6px 20px #0008;z-index:30}
#scaleEditor[hidden]{display:none}
#scaleEditor p{font-size:12px;white-space:normal}
.fixture-dots{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.fixture-dots circle{stroke:white;stroke-width:.7;pointer-events:all;cursor:pointer}
.fixture-dots circle:focus{stroke:#111;stroke-width:2;outline:none}
.drawing.scale-picking .fixture-dots circle{pointer-events:none}
.fixture-count{border-left:4px solid var(--fixture-color,var(--cyan))}
.fixture-count strong{color:var(--fixture-color,var(--cyan))}
.fixture-count.count-active{background:#24353c;outline:1px solid var(--fixture-color)}
.all-fixtures{margin:3px 6px;padding:3px 6px;font-size:12px;text-align:left;flex-shrink:0}

.marked-plan-link{font-size:11px;color:var(--cyan);padding:0 6px 4px;flex-shrink:0}

.wire-measure-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.wire-measure-overlay path{fill:none;stroke-width:1.15;opacity:.75;pointer-events:stroke;cursor:pointer}
.wire-measure-overlay path.dim{opacity:.07}
.wire-measure-overlay .wire-preview{stroke:#fff;stroke-width:1.8;fill:none}
.drawing.wire-tracing{cursor:crosshair}
.drawing.wire-tracing .fixture-dots circle,.drawing.wire-tracing .wire-measure-overlay path,.drawing.scale-picking .wire-measure-overlay path{pointer-events:none}
.wire-total{font-size:15px;font-weight:700;color:var(--cyan)}
.wire-actions{display:flex;gap:4px;flex-wrap:wrap;margin:4px 0}
.wire-actions button{font-size:12px;padding:3px 5px}
.wire-groups{display:grid;grid-template-columns:1fr;gap:2px;margin:4px 0}
.wire-groups button{font-size:11px;text-align:left;padding:3px 5px;border-left:3px solid;line-height:1.2}
.wire-run-scroll{max-height:180px;overflow:auto}
.wire-runs{width:100%;font-size:11px;border-collapse:collapse}
.wire-runs td,.wire-runs th{padding:2px;text-align:right;border-bottom:1px solid var(--line)}
.wire-runs th:first-child,.wire-runs td:first-child{text-align:left}
.wire-runs button{padding:1px 3px;font-size:11px}
.wire-selection,.wire-live{color:#f3c572!important}
#evidence[hidden]{display:none!important}
.sheet-scale-list{display:flex;gap:3px;margin-bottom:5px;white-space:nowrap}
.sheet-scale-list button{font-size:11px;padding:3px 4px;flex:1;color:var(--cyan)}
.priority-note-list{display:grid;gap:2px}
.priority-note-list button{text-align:left;border-left:3px solid #e88525;font-size:11px;padding:3px 5px;line-height:1.2}
.priority-note-list small{font-size:10px;display:block;color:#eab169}
.saved-note{border-bottom:1px solid var(--line);padding:3px 0}
.saved-note.critical summary{color:#ffc176!important}
.saved-note.note-selected{background:#2d2a20}
.note-color-key{font-size:10px!important}
.note-meaning{color:#edf3f4!important}
.sheet-note-downloads a{color:var(--cyan);font-size:11px}
.detail-memory-highlights .note-block{fill:#24acb5;fill-opacity:.07;stroke:#25868d;stroke-width:1;pointer-events:all}
.detail-memory-highlights .saved-note-highlight{fill:#24acb5;fill-opacity:.03;stroke:none;pointer-events:all;cursor:pointer}
.detail-memory-highlights .saved-note-highlight.critical{fill:#ffb443;fill-opacity:.24;stroke:#c46c13;stroke-width:.6}
.detail-memory-highlights .saved-note-highlight.conflict{fill:#e952a0;fill-opacity:.24;stroke:#ad2768;stroke-width:1.2}
.detail-memory-highlights .detail-reference{fill:#ffd54f;fill-opacity:.10;stroke:#c98700;stroke-width:1;pointer-events:all;cursor:pointer}
.detail-memory-highlights .view-scale-highlight{fill:#24acb5;fill-opacity:.15;stroke:#25868d;stroke-width:1;pointer-events:all;cursor:pointer}
.detail-memory-highlights .note-selected{stroke:#e73f92!important;stroke-width:2!important;fill-opacity:.30!important}
.detail-memory-highlights .on-plan-scale{font:600 13px Arial,sans-serif;fill:#17585e;stroke:none}
.drawing.wire-tracing .detail-memory-highlights rect,.drawing.scale-picking .detail-memory-highlights rect{pointer-events:none}

.fixture-counts>details,.fixture-counts>.count-total{grid-column:1/-1}.issue-register>details{padding:3px 0;border-bottom:1px solid var(--line)}
