/* Drawing review uses the brand's navy and paper, with gold reserved for actions. */
.sr-review { color:#102441; background:#faf9f5; border-block:1px solid #10244126; min-width:0; }
.sr-heading { padding:26px 28px 18px; }
.sr-review .sr-heading h3 { margin:0 0 8px; font:600 25px/1.2 var(--font-body, sans-serif); text-transform:none; letter-spacing:0; }
.sr-heading p { max-width:76ch; color:#526070; font:400 15px/1.55 var(--font-body, sans-serif); margin:0; }
.sr-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0 28px 22px; gap:12px; }
.sr-metrics div { padding:12px 0; border-top:1px solid #10244126; }
.sr-metrics dt { font-size:12px; line-height:1.4; color:#526070; }
.sr-metrics dd { margin:5px 0 0; font-size:22px; line-height:1.2; font-weight:600; }
.sr-tabs { display:flex; border-bottom:1px solid #10244126; padding:0 28px; gap:4px; }
.sr-tabs button { cursor:pointer; min-height:48px; padding:10px 20px; border:0; border-radius:6px 6px 0 0; background:transparent; color:#526070; font:500 15px/1.4 var(--font-body,sans-serif); }
.sr-tabs button[aria-selected=true] { background:#102441; color:#faf9f5; }
.sr-panel { padding:22px 28px 28px; min-width:0; }
.sr-review [hidden] { display:none !important; }
.sr-filter { display:grid; grid-template-columns:auto minmax(120px,1fr) auto minmax(130px,180px); align-items:center; gap:10px; }
.sr-filter label { font-size:13px; }
.sr-filter :is(input,select) { width:100%; min-height:44px; min-width:0; padding:9px 12px; border:1px solid #10244140; border-radius:4px; color:#102441; background:#fffefa; font:400 16px/1.3 var(--font-body,sans-serif); }
.sr-count,.sr-muted,.sr-source-path { color:#526070; font-size:13px; line-height:1.5; }
.sr-sheet { border-bottom:1px solid #10244126; }
.sr-sheet summary { display:grid; grid-template-columns:100px minmax(0,1fr) auto; align-items:center; gap:14px; padding:15px 0; min-height:56px; cursor:pointer; font-size:14px; }
.sr-sheet summary strong { color:#102441; }
.sr-sheet summary:before { content:none; }
.sr-sheet summary:after { content:'+'; grid-column:3; display:none; }
.sr-sheet[open] summary { border-bottom:1px dashed #10244126; }
.sr-sheet-body { padding:8px 0 16px; }
.sr-sheet-title { overflow-wrap:anywhere; }
.sr-role { display:inline-block; width:fit-content; padding:5px 8px; background:#e9e8e1; border-radius:4px; font-size:11px; color:#33465b; line-height:1.4; }
.sr-review p,.sr-review cite,.sr-review h4 { overflow-wrap:anywhere; }
.sr-material,.sr-discrepancy { padding:18px 0; border-bottom:1px solid #10244126; }
.sr-material-head { display:flex; justify-content:space-between; gap:18px; align-items:start; }
.sr-review h4 { margin:8px 0; font:600 18px/1.3 var(--font-body,sans-serif); text-transform:none; letter-spacing:0; }
.sr-review .sr-quantity { white-space:nowrap; font-size:20px; }
.sr-review .sr-material p { margin:8px 0; }
.sr-material details summary { min-height:44px; padding:12px 0; cursor:pointer; font-size:14px; }
.sr-calculation { background:#efeee8; padding:12px; font-variant-numeric:tabular-nums; }
.sr-source-button { display:inline-block; min-height:44px; padding:10px 0; cursor:pointer; border:0; background:transparent; text-decoration:underline; text-underline-offset:4px; color:#102441; font:500 14px/1.4 var(--font-body,sans-serif); }
.sr-comparison-sides { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.sr-comparison-sides blockquote { margin:8px 0; padding:16px; border:1px solid #10244126; border-radius:4px; background:#fffefa; }
.sr-comparison-sides cite { display:block; font-size:12px; font-style:normal; color:#526070; }
.sr-excerpt { font-size:14px; line-height:1.6; }
.sr-decision { font-weight:500; font-size:14px; }
.sr-notice,.sr-attention { margin:0 28px 20px; padding:12px 16px; background:#f0e6d0; color:#674c20; border:0; border-radius:4px; font:400 14px/1.5 var(--font-body,sans-serif); }
.sr-attention { cursor:pointer; text-align:left; min-height:44px; text-decoration:underline; text-underline-offset:3px; }
.sr-panel .sr-notice { margin:16px 0 0; }
.sr-empty { padding:8px 0 16px; font-size:15px; line-height:1.6; color:#526070; max-width:65ch; }
.sr-questions li { margin:10px 0; font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
.sr-review :is(button,input,select,summary,[role=tabpanel]):focus-visible { outline:3px solid #94702e; outline-offset:3px; }
.takeoff-workspace #ai-out>#ai-structural-sources { grid-column:1/-1; order:1; }
.takeoff-workspace .tw-result-overview h3 { max-width:27ch; }
.takeoff-workspace[data-takeoff-state=review] #ai-out { grid-template-columns:minmax(0,1fr); }
.takeoff-workspace[data-takeoff-state=review] #ai-result-fields { grid-column:1; order:2; }
.takeoff-workspace[data-takeoff-state=review] #ai-result-details { grid-column:1; order:3; }
.takeoff-workspace[data-takeoff-state=review] #ai-handoff { grid-column:1; grid-row:auto; order:4; }
.takeoff-workspace #ai-file-list .fname { white-space:normal; overflow-wrap:anywhere; }
.nl-pilot-note { font-size:13px; color:#526070; padding:10px 0; }
@media(min-width:1024px) {
 .takeoff-workspace[data-takeoff-state=prepare] #ai .est-split { grid-template-columns:minmax(300px,0.85fr) minmax(0,1.15fr); gap:32px; }
 .takeoff-workspace .tk-workspace-intro { padding-top:30px; padding-bottom:20px; }
 .takeoff-workspace .tk-workspace-intro h1 { font-size:42px; }
 .takeoff-workspace .tw-tool-intro { padding-top:4px; }
}
@media(max-width:700px) {
 .sr-heading { padding:22px 18px 16px; }
 .sr-review .sr-heading h3 { font-size:23px; }
 .sr-heading p { font-size:14px; }
 .sr-metrics { margin:0 18px 16px; grid-template-columns:1fr 1fr; gap:0 20px; }
 .sr-metrics dd { font-size:21px; }
 .sr-tabs { padding:0 12px; gap:0; }
 .sr-tabs button { flex:1; padding:10px 8px; font-size:14px; }
 .sr-panel { padding:18px; }
 .sr-filter { grid-template-columns:1fr 1fr; gap:6px 12px; }
 .sr-filter label:first-child { grid-column:1; grid-row:1; }
 .sr-filter input { grid-column:1; grid-row:2; }
 .sr-filter label:nth-child(3) { grid-column:2; grid-row:1; }
 .sr-filter select { grid-column:2; grid-row:2; }
 .sr-sheet summary { grid-template-columns:minmax(0,1fr) auto; gap:6px 12px; }
 .sr-sheet-title { grid-row:2; grid-column:1/-1; font-size:13px; }
 .sr-sheet .sr-role { grid-row:1; grid-column:2; max-width:135px; }
 .sr-comparison-sides { grid-template-columns:1fr; gap:0; }
 .sr-notice,.sr-attention { margin:0 18px 16px; }
 .takeoff-workspace .tk-workspace-intro { padding-top:22px; }
 .takeoff-workspace #takeoff-progress { font-size:13px; }
}
@media(prefers-reduced-motion:reduce) { .sr-review * { scroll-behavior:auto; transition:none; animation:none; } }
/* Source review stays full width in every post-read state, including handoff. */
.takeoff-workspace #ai #ai-out:has(#ai-structural-sources) { display:flex; flex-direction:column; }
.takeoff-workspace #ai #ai-out:has(#ai-structural-sources)>* { width:100%; min-width:0; box-sizing:border-box; }
.takeoff-workspace #ai #ai-out>.tw-result-overview { order:0; }
.takeoff-workspace #ai #ai-out>#ai-structural-sources { order:1; }
.takeoff-workspace #ai #ai-out>#ai-result-fields { order:2; }
.takeoff-workspace #ai #ai-out>#ai-result-details { order:3; }
.takeoff-workspace #ai #ai-out>#ai-handoff { order:4; border-left:0; }
.takeoff-workspace #ai .sr-filter select { min-height:44px; }
.sr-sheet summary,.sr-panel { scroll-margin-top:calc(var(--nl-head-h,98px) + 20px); }

/* Large drawing sets stay finite on screen; navigation never clips the list. */
.sr-review .sr-heading { padding:16px 22px 12px; }
.sr-review .sr-heading h3 { font-size:20px; margin-bottom:6px; }
.sr-review .sr-heading p { font-size:13px; line-height:1.5; }
.sr-review .sr-metrics { margin:0 22px 14px; gap:16px; }
.sr-review .sr-metrics div { display:flex; flex-direction:column; gap:4px; padding:10px 0 0; }
.sr-review .sr-metrics dd { font-size:20px; margin:0; }
.sr-review .sr-tabs { padding:0 22px; gap:4px; }
.sr-review .sr-tabs button { min-height:46px; padding:10px 18px; border-radius:4px 4px 0 0; }
.sr-review .sr-panel { padding:18px 22px; }
.sr-review .sr-panel-estimate { padding:0; }
.sr-review .sr-material-filter { display:grid; grid-template-columns:auto minmax(100px,1fr); align-items:center; gap:10px; }
.sr-material-filter label { font-size:13px; }
.sr-material-filter input { min-height:44px; padding:10px 12px; width:100%; min-width:0; color:#102441; border:1px solid #10244140; border-radius:4px; background:#fffefa; font:400 16px/1.3 var(--font-body,sans-serif); }
.sr-list-count { color:#526070; font-size:13px; line-height:1.5; }
.sr-pagination { display:flex; align-items:center; gap:14px; justify-content:flex-end; border-top:1px solid #10244126; padding-top:14px; margin-top:16px; }
.sr-pagination button { min-height:44px; min-width:72px; padding:10px 14px; border:1px solid #10244140; border-radius:4px; background:#fffefa; color:#102441; font:500 14px/1.3 var(--font-body,sans-serif); cursor:pointer; }
.sr-pagination button[aria-disabled=true] { opacity:.45; cursor:default; }
.sr-page-label { margin-right:auto; color:#526070; font-size:13px; }
.sr-review .sr-sheet summary { padding:11px 0; min-height:48px; }
.sr-review .sr-sheet summary::after { display:block; grid-column:4; }
.sr-review .sr-sheet[open] summary::after { content:'−'; }
.sr-review .sr-sheet summary { grid-template-columns:90px minmax(0,1fr) auto 14px; }
.sr-review .sr-source-return { min-height:44px; background:transparent; border:0; color:#102441; font:500 14px/1.4 var(--font-body,sans-serif); text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
@media(max-width:700px) {
 .sr-review .sr-heading { padding:14px 16px 10px; }
 .sr-review .sr-heading h3 { font-size:19px; }
 .sr-review .sr-heading p { font-size:12px; }
 .sr-review .sr-metrics { margin:0 16px 12px; gap:8px 16px; }
 .sr-review .sr-metrics div { flex-direction:row-reverse; justify-content:flex-end; align-items:baseline; gap:8px; }
 .sr-review .sr-metrics dt { font-size:11px; }
 .sr-review .sr-metrics dd { font-size:19px; flex-shrink:0; }
 .sr-review .sr-tabs { padding:0 12px; display:flex; gap:0; }
 .sr-review .sr-tabs:has(button:nth-child(4)) { display:grid; grid-template-columns:1fr 1fr; padding:0 12px 8px; gap:5px; }
 .sr-review .sr-tabs button { font-size:13px; padding:10px 8px; border-radius:4px; }
 .sr-review .sr-panel { padding:16px; }
 .sr-review .sr-panel-estimate { padding:0; }
 .sr-review .sr-sheet summary { grid-template-columns:minmax(0,1fr) auto 12px; gap:6px 10px; }
 .sr-review .sr-sheet summary::after { grid-column:3; grid-row:1; }
 .sr-review .sr-sheet-title { grid-column:1/-1; }
 .sr-review .sr-pagination { gap:8px; flex-wrap:wrap; }
 .sr-review .sr-pagination button { min-width:66px; padding:10px; }
 .sr-review .sr-material-filter { grid-template-columns:1fr; gap:5px; }
 .sr-review .sr-page-label { font-size:12px; }
}

/* Material filters have four label/control pairs; generic two-filter mobile
   placement must not stack all three selects in the same grid cell. */
.sr-review .sr-material-filter > * { grid-column:auto; grid-row:auto; }

/* Result line facts (floor, region, pieces, lengths, plies): a title-block strip,
   mono figures, one row on desktop, wrapping on a phone. */
.sr-review .sr-facts { display:flex; flex-wrap:wrap; gap:0; margin:10px 0; border:1px solid #10244126; border-radius:4px; background:#fffefa; }
.sr-review .sr-facts > div { display:flex; flex-direction:column; gap:2px; padding:7px 12px; border-right:1px solid #10244126; min-width:0; }
.sr-review .sr-facts > div:last-child { border-right:0; }
.sr-review .sr-facts dt { font:500 10px/1.3 var(--font-mono,'IBM Plex Mono',monospace); letter-spacing:.06em; text-transform:uppercase; color:#526070; }
.sr-review .sr-facts dd { margin:0; font:500 14px/1.35 var(--font-mono,'IBM Plex Mono',monospace); font-variant-numeric:tabular-nums; color:#102441; overflow-wrap:anywhere; }
.sr-review .sr-measured dd { font-family:var(--font-body,sans-serif); font-size:13px; color:#674c20; }
.sr-review .sr-measured.is-measured dd { color:#1d5a3c; }
.sr-review .sr-checks { background:#f4f2ea; border:1px solid #1024411f; padding:16px 16px 14px; margin:12px 0 0; }
.sr-review .sr-checks .sr-role { background:#e2e6ea; }
.sr-review .sr-question[data-status=resolved] .sr-role { background:#dfece3; color:#1d5a3c; }
.ai-line-facts { font-family:var(--font-mono,'IBM Plex Mono',monospace); font-size:12px; letter-spacing:.01em; }
#ai-csv[hidden] { display:none !important; }
.sr-review .sr-source-links { display:flex; flex-wrap:wrap; gap:0 18px; }
.sr-review .sr-discrepancy > .btn { display:inline-flex; margin-top:8px; }
@media(max-width:700px) {
 .sr-review .sr-facts > div { flex:1 1 45%; border-right:0; border-bottom:1px solid #10244126; }
 .sr-review .sr-facts > div:nth-last-child(-n+2) { border-bottom:0; }
}
/* Other trades (reference only) and team notes, after the floors of the material list.
   They reuse the "awaiting quantity" disclosure from takeoff-floors.css. */
.tf .tf-refs,.tf .tf-team-notes{margin-top:14px}
.tf-badge.is-reference{background:transparent;border:1px solid var(--tf-line-2,#1024413d);color:var(--tf-muted,#526070)}
.tf-badge.is-reference::before{width:9px;height:1.5px}
.tf-badge.is-team{background:#102441;color:#fffefa}
.tf-badge.is-team::before{content:none}
.tf-list-note{margin:0;padding:0 14px 10px;max-width:78ch;font:400 13px/1.5 var(--font-body,sans-serif);color:var(--tf-muted,#526070)}
.tf-ref-trade{margin:0;font:500 13px/1.4 var(--tf-mono,monospace);color:#33465b;overflow-wrap:anywhere}
.tf-ref-sheets{margin:0;font:500 12px/1.4 var(--tf-mono,monospace);color:var(--tf-muted,#526070)}
.tf-team-notes .tf-printed{font-family:var(--font-body,sans-serif);font-size:13px}
@media(max-width:700px){.tf-list-note{padding:0 12px 10px}}
