/* The customer's own project takes over from the preparation view. */
.takeoff-workspace { --tw-muted: #505d6c; --tw-error: #a33131; }
.takeoff-workspace [hidden] { display: none !important; }
.takeoff-workspace .tk-workspace-intro { padding-block: 32px 28px; }
.takeoff-workspace .tk-workspace-intro h1 { font-size: clamp(38px,4vw,54px); max-width: 22ch; margin-bottom: 12px; }
.takeoff-workspace .tk-workspace-intro p { font-size: 16px; line-height: 1.55; max-width: 58ch; margin: 0; }
.takeoff-workspace .tk-workspace-intro .tk-overline { display: none; }
.takeoff-workspace .tk-workspace-intro .tk-watch { font-size: 15px; }
.takeoff-workspace .vp-workspace-help { margin-bottom: 0; }
.takeoff-workspace .est-tool { padding-top: 30px; }
.tw-tool-intro { display: none; }
.tw-tool-intro h2 { margin: 0 0 10px; font: 500 28px/1.2 var(--font-body); }
.tw-tool-intro p { color: var(--tw-muted); font-size: 16px; line-height: 1.55; margin: 0; }
.takeoff-workspace #ai .est-split { gap: 42px; }
.takeoff-workspace #ai .est-form-col,.takeoff-workspace #ai .est-aside { min-width: 0; }
.takeoff-workspace #ai .ai-step { font: 600 17px/1.4 var(--font-body); text-transform: none; letter-spacing: 0; color: #102441; margin-bottom: 15px; }
.takeoff-workspace #ai .ai-step::after { display: none; }
.takeoff-workspace #ai .est-step-3 { display: none; }
.takeoff-workspace #ai-step-2 { margin-top: 28px; }
.takeoff-workspace #ai input:not([type=file]),.takeoff-workspace #ai select,.takeoff-workspace #ai textarea { font: 400 16px/1.4 var(--font-body); border: 1px solid #10244155; border-radius: 7px; min-height: 50px; padding: 12px; background: #fffefb; width: 100%; }
.takeoff-workspace #ai input[aria-invalid=true] { border: 2px solid var(--tw-error); }
.takeoff-workspace #ai label { font: 500 14px/1.4 var(--font-body); text-transform: none; letter-spacing: 0; margin-bottom: 7px; }
.takeoff-workspace #ai textarea { min-height: 105px; }
.takeoff-workspace #ai .field { min-width: 0; }
.takeoff-workspace #ai .form-grid { gap: 18px; }
.takeoff-workspace #ai .form-grid>.field:first-child { grid-column: 1/-1; }
.takeoff-workspace #ai-notes-wrap { margin-top: 22px; }
.takeoff-workspace #ai-notes-wrap summary { font: 500 15px/1.4 var(--font-body); cursor: pointer; padding-block: 12px; }
.takeoff-workspace #ai-notes-wrap[open]>summary { display: block; }
.takeoff-workspace #ai-dropzone { border-radius: 0 26px 0 0; background: #efebe1; border: 1px dashed #10244170; min-height: 192px; padding: 24px; }
.takeoff-workspace #ai-dropzone b { font: 500 23px/1.2 var(--font-body); text-transform: none; letter-spacing: 0; }
.takeoff-workspace #ai-dropzone .dz-mouse,.takeoff-workspace #ai-dropzone .dz-touch { font: 400 15px/1.5 var(--font-body); }
.takeoff-workspace #ai-dropzone .dz-spec { font: 400 12px/1.5 var(--font-body); text-transform: none; letter-spacing: 0; color: var(--tw-muted); margin-top: 18px; max-width: 38ch; }
.takeoff-workspace #ai-dropzone .dz-cm { display: none; }
.takeoff-workspace #ai-dropzone.drag { border-style: solid; background: #f1e4c8; outline: 3px solid #c8a15b; }
.takeoff-workspace .tw-upload-limits { font-size: 12px; line-height: 1.6; color: var(--tw-muted); margin-top: 12px; }
.tw-file-readiness { font: 400 14px/1.55 var(--font-body); padding: 14px 16px; margin: 16px 0 10px; background: #e9eee9; border-left: 3px solid #506b54; }
.tw-file-readiness[data-route=team] { background: #f1e4c8; border-color: #9b722b; }
.takeoff-workspace #ai-file-list li { display: grid; grid-template-columns: 38px minmax(0,1fr) auto 44px; gap: 10px; align-items: center; padding: 10px 0; }
.takeoff-workspace #ai-file-list .fglyph { display: none; }
.takeoff-workspace #ai-file-list .fthumb { display: grid; place-items: center; width: 38px; height: 44px; object-fit: cover; font-size: 10px; background: #e8e4da; }
.takeoff-workspace #ai-file-list .fname { font: 500 14px/1.4 var(--font-body); min-width: 0; overflow-wrap: anywhere; }
.takeoff-workspace #ai-file-list .fsize { font-size: 12px; color: var(--tw-muted); }
.takeoff-workspace #ai-file-list .fdel { width: 44px; height: 44px; font-size: 18px; border-radius: 50%; }
.takeoff-workspace #ai-file-msg { font-size: 14px; line-height: 1.5; }
.takeoff-workspace #ai-file-msg:empty { display: none; }
.takeoff-workspace #ai-bar .ai-bar-note { display: block; font: 400 12px/1.45 var(--font-body); letter-spacing: 0; text-transform: none; color: var(--tw-muted); margin: 10px 0 0; }
.takeoff-workspace #ai-run[aria-disabled=true] { background: #ddd4c1; border-color: #ddd4c1; color: #374659; }
.takeoff-workspace #ai-run:disabled { opacity: 1; cursor: default; }
.takeoff-workspace #ai-input-panel>summary { cursor: pointer; display: flex; align-items: center; gap: 20px; padding: 20px 0; border-block: 1px solid #10244130; font-size: 15px; line-height: 1.5; }
.tw-edit-label { font-size: 13px; flex-shrink: 0; margin-left: auto; text-decoration: underline; text-underline-offset: 4px; }
.takeoff-workspace[data-takeoff-state=prepare] #ai-input-panel>summary { display: none; }
.takeoff-workspace #ai-input-panel[open]>summary { margin-bottom: 22px; }
.takeoff-workspace #ai .takeoff-sheet { box-shadow: none; border: 1px solid #10244130; border-radius: 0 26px 0 0; overflow: hidden; }
.takeoff-workspace #ai .ts-head { background: #102441; color: #fff; padding: 20px 24px; gap: 18px; }
.takeoff-workspace #ai-title { font: 500 18px/1.4 var(--font-body); color: #fff; scroll-margin-top: calc(var(--nl-head-h,98px) + 24px); }
.takeoff-workspace #ai .ts-head .r { display: none; }
.takeoff-workspace #ai-status { font: 400 13px/1.5 var(--font-body); text-transform: none; letter-spacing: 0; color: var(--tw-muted); }
.takeoff-workspace #ai .est-honest { font: 400 14px/1.55 var(--font-body); color: var(--tw-muted); margin-top: 20px; }
.takeoff-workspace #ai .est-consent { font-size: 12px; line-height: 1.6; }
.takeoff-workspace:not([data-takeoff-state=prepare]) .tw-tool-intro { display: none; }
.takeoff-workspace:not([data-takeoff-state=prepare]) #ai .est-split { grid-template-columns: minmax(0,1fr); gap: 20px; }
.takeoff-workspace:not([data-takeoff-state=prepare]) #ai .est-form-col { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 30px; align-items: start; position: static; padding: 0; background: transparent; border: 0; border-radius: 0; }
.takeoff-workspace:not([data-takeoff-state=prepare]) #ai-bar { margin-top: 0; border: 0; padding-top: 8px; }
.takeoff-workspace:is([data-takeoff-state=review],[data-takeoff-state=handoff],[data-takeoff-state=sending],[data-takeoff-state=sent]) #ai-run { display: none; }
.takeoff-workspace[data-takeoff-state=reading] #ai-run { display: none; }
.takeoff-workspace .tw-reading { padding: 32px; max-width: 820px; min-height: 330px; }
.takeoff-workspace .tw-reading>p:first-child { font-size: 18px; line-height: 1.6; }
.tw-read-steps { counter-reset: phase; list-style: none; padding: 15px 0 !important; margin: 10px 0 !important; }
.tw-read-steps li { counter-increment: phase; display: flex; align-items: center; gap: 14px; color: var(--tw-muted); padding: 10px 0; font-size: 16px; }
.tw-read-steps li:before { content: counter(phase); border: 1px solid #10244145; border-radius: 50%; width: 30px; height: 30px; display: grid; place-items: center; flex-shrink: 0; font-size: 13px; }
.tw-read-steps li[aria-current=step] { color: #102441; font-weight: 600; }
.tw-read-steps li[aria-current=step]:before { background: #102441; color: white; }
.tw-read-steps li.is-complete:before { content: '✓'; background: #e9eee9; color: #3f6144; }
.takeoff-workspace .tw-reading .ai-progress { height: 3px; margin-block: 14px; }
.tw-result-overview { padding: 32px; }
.tw-result-overview h3 { font: 500 clamp(28px,3vw,40px)/1.16 var(--font-body); margin: 14px 0 18px; max-width: 16ch; }
.tw-result-overview p { font-size: 16px; line-height: 1.6; margin: 0 0 20px; }
.tw-result-overview .tw-preliminary { font-size: 12px; color: #71521e; margin: 0; }
.tw-result-overview .tw-project-label { font-weight: 600; }
.tw-result-overview .tw-read-facts { font-size: 14px; padding-top: 18px; border-top: 1px solid #10244125; }
.tw-result-overview .tw-next-action { font-size: 15px; color: var(--tw-muted); margin-bottom: 0; }
.tw-review-alert { padding: 15px; border-left: 3px solid #9b722b; background: #f1e4c8; }
.tw-result-details { border-top: 1px solid #10244130; }
.tw-result-details>summary { cursor: pointer; font: 500 16px/1.5 var(--font-body); padding: 23px 32px; color: #102441; }
.tw-result-details>.tw-result-body { border: 0; border-top: 1px solid #10244125; min-width: 0; padding: 0; margin: 0; }
.takeoff-workspace #ai-handoff { border-radius: 0; background: #efebe1; margin: 0; padding: 32px; border: 0; scroll-margin-top: calc(var(--nl-head-h,98px) + 22px); }
.takeoff-workspace #ai-handoff h3 { font: 500 27px/1.2 var(--font-body); margin: 0 0 16px; }
.takeoff-workspace #ai-handoff>p { font: 400 16px/1.6 var(--font-body); margin: 0 0 25px; }
.takeoff-workspace #ai-handoff form { gap: 18px; }
.takeoff-workspace #ai-handoff .field { margin: 0; }
.takeoff-workspace #ai-handoff .tw-contact-note { grid-column: 1/-1; font: 400 12px/1.55 var(--font-body); margin: 0; color: var(--tw-muted); }
.takeoff-workspace #ai-handoff form>.hint:empty { display: none; }
.tw-field-error { display: block; font: 400 13px/1.5 var(--font-body); color: var(--tw-error); margin-top: 6px; }
.takeoff-workspace #ai-handoff button { white-space: normal; }
.takeoff-workspace #ai-handoff .tw-received-mark { display: grid; place-items: center; font-size: 28px; width: 52px; height: 52px; border-radius: 50%; background: #102441; color: #f1e4c8; margin-bottom: 22px; }
.takeoff-workspace #ai-handoff.tw-received { background: #e9eee9; }
.tw-next-steps { padding-left: 22px; margin: 20px 0 30px; }
.tw-next-steps li { margin: 12px 0; padding-left: 5px; font: 400 15px/1.55 var(--font-body); }
.takeoff-workspace #ai-handoff.tw-received>.tw-contact-note { margin-top: 18px; margin-bottom: 0; }
.takeoff-workspace #ai-actions { padding: 20px 24px; margin: 0; gap: 12px; }
.takeoff-workspace #ai-mail { display: none; }
.takeoff-workspace #ai-actions .btn { min-height: 44px; font-size: 13px; padding: 10px 18px; }
.takeoff-workspace #ps-wrap { margin-top: 30px; }
.takeoff-workspace #ai :is(button,a,input,select,textarea,summary,[role=button]):focus-visible { outline: 3px solid #94702e; outline-offset: 4px; }
.takeoff-workspace #ai .ts-foot { font: 400 12px/1.5 var(--font-body); letter-spacing: 0; text-transform: none; padding: 15px 24px; }
.tw-guide-open { overflow: hidden; }
#tw-guide { width: min(900px,calc(100% - 32px)); max-height: calc(100svh - 32px); padding: 28px; border: 0; background: #f6f4ee; color: #102441; border-radius: 0 28px 0 0; overscroll-behavior: contain; }
#tw-guide::backdrop { background: #102441bf; }
.tw-guide-head { display: flex; align-items: start; gap: 25px; justify-content: space-between; margin-bottom: 22px; }
.tw-guide-head p { font-size: 13px; margin: 0 0 10px; }
.tw-guide-head h2 { font: 500 30px/1.2 var(--font-body); margin: 0; max-width: 22ch; }
.tw-guide-head button { flex-shrink: 0; min-height: 44px; padding: 10px 18px; font-size: 14px; }
.tw-guide-media video { display: block; width: 100%; aspect-ratio: 16/9; background: #102441; }
.tw-guide-steps { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 30px; margin-top: 24px; }
.tw-guide-steps p { font-size: 14px; line-height: 1.6; margin: 0; }
.tw-guide-steps b { display: block; margin-bottom: 5px; }
.tw-guide-return { font-size: 13px; color: #505d6c; border-top: 1px solid #10244130; padding-top: 18px; margin: 24px 0 0; }
@media(min-width:1000px) {
  .takeoff-workspace #ai-out:has(.tw-result-overview) { display: grid; grid-template-columns: minmax(0,1fr) 330px; align-items: start; }
  .tw-result-overview { grid-column: 1/-1; grid-row: 1; }
  .takeoff-workspace #ai-out:has(.tw-result-overview)>#ai-handoff { grid-column: 2; grid-row: 2/4; border-left: 1px solid #10244125; }
  .tw-price-fields { grid-column: 1; grid-row: 2; }
  .tw-result-details { grid-column: 1; grid-row: 3; }
}
@media(max-width:700px) {
  .takeoff-workspace .tk-workspace-intro { padding-block: 20px; gap: 12px; }
  .takeoff-workspace .tk-workspace-intro .tk-overline { display: none; }
  .takeoff-workspace .tk-workspace-intro h1 { font-size: 34px; max-width: 18ch; margin-bottom: 12px; }
  .takeoff-workspace .tk-workspace-intro p { font-size: 15px; }
  .takeoff-workspace .tk-workspace-intro .tk-watch { font-size: 14px; max-width: none; padding: 0; }
  .takeoff-workspace .tk-workspace-intro .tk-watch>span { width: 34px; height: 34px; font-size: 20px; }
  .takeoff-workspace .tk-progress { padding-block: 16px; gap: 8px; }
  .takeoff-workspace .tk-progress li { font-size: 11px; }
  .takeoff-workspace .tk-progress b { height: 26px; width: 26px; margin-bottom: 8px; }
  .takeoff-workspace .vp-workspace-help { padding-block: 15px; }
  .takeoff-workspace .est-tool { padding-top: 24px; }
  .tw-tool-intro { display: none; }
  .tw-tool-intro h2 { font-size: 25px; }
  .tw-tool-intro p { font-size: 15px; }
  .takeoff-workspace #ai .est-split { gap: 20px; }
  .takeoff-workspace #ai-capture { padding: 18px; border: 1px dashed #10244170; border-radius: 0 24px 0 0; background: #efebe1; }
  .takeoff-workspace #ai-capture .ai-cap-row { gap: 8px; }
  .takeoff-workspace #ai-capture .ai-cap-row .btn { font-size: 12px; padding-inline: 8px; min-height: 47px; gap: 6px; }
  .takeoff-workspace #ai-cap-camera svg { width: 16px; flex-shrink: 0; }
  .takeoff-workspace #ai-capture .ai-cap-note { font: 400 12px/1.5 var(--font-body); text-transform: none; letter-spacing: 0; color: var(--tw-muted); }
  .takeoff-workspace #ai .form-grid { grid-template-columns: 1fr; }
  .takeoff-workspace #ai-input-panel .ai-notes>summary { text-transform: none; letter-spacing: 0; }
  .takeoff-workspace #ai-input-panel .ai-notes-opt { text-transform: none; letter-spacing: 0; }
  .takeoff-workspace #ai-file-list li { grid-template-columns: 32px minmax(0,1fr) 44px; gap: 9px; }
  .takeoff-workspace #ai-file-list .fthumb { grid-row: 1/3; width: 32px; }
  .takeoff-workspace #ai-file-list .fname { grid-column: 2; grid-row: 1; font-size: 13px; }
  .takeoff-workspace #ai-file-list .fsize { grid-column: 2; grid-row: 2; }
  .takeoff-workspace #ai-file-list .fdel { grid-column: 3; grid-row: 1/3; }
  .takeoff-workspace:not([data-takeoff-state=prepare]) #ai .est-form-col { display: block; }
  .takeoff-workspace #ai-input-panel>summary { font-size: 13px; gap: 12px; padding-block: 17px; }
  .tw-edit-label { font-size: 12px; }
  .takeoff-workspace #ai-bar { padding: 12px 20px calc(12px + env(safe-area-inset-bottom)); background: #f6f4ee; border-top: 1px solid #10244130; }
  .takeoff-workspace #ai-bar::before { display: none; }
  .takeoff-workspace #ai-bar .ai-bar-note { margin-top: 7px; font-size: 11px; text-align: center; }
  .takeoff-workspace #ai-bar .btn { min-height: 49px; }
  .takeoff-workspace[data-takeoff-state=prepare]:not(.tw-has-files) #ai-bar { display: none; }
  .takeoff-workspace.tw-contact-visible #ai-bar,.takeoff-workspace.tw-input-focus #ai-bar { display: none; }
  .takeoff-workspace #ai .ts-head { padding: 18px 20px; }
  .takeoff-workspace #ai-title { font-size: 17px; }
  .takeoff-workspace .tw-reading { padding: 25px 20px; min-height: 330px; }
  .takeoff-workspace .tw-reading>p:first-child { font-size: 16px; }
  .tw-read-steps li { font-size: 14px; }
  .tw-result-overview { padding: 25px 20px; }
  .tw-result-overview h3 { font-size: 31px; }
  .tw-result-overview p { font-size: 15px; margin-bottom: 18px; }
  .tw-result-details>summary { padding: 20px; font-size: 15px; }
  .takeoff-workspace #ai-handoff { padding: 25px 20px; }
  .takeoff-workspace #ai-handoff h3 { font-size: 26px; }
  .takeoff-workspace #ai-handoff>p { font-size: 15px; }
  .takeoff-workspace #ai-actions { padding: 20px; }
  #tw-guide { padding: 20px; }
  .tw-guide-head { gap: 12px; }
  .tw-guide-head h2 { font-size: 24px; }
  .tw-guide-steps { grid-template-columns: 1fr; gap: 16px; }
  .takeoff-workspace #ai .ts-foot { display: block; padding: 15px 20px; }
  .takeoff-workspace #ai .ts-foot>span { display: block; text-align: left; }
}
@media(prefers-reduced-motion:reduce) { .tw-reading .ai-progress i { animation: none; } }

/* Incomplete drawings are a useful review, not a completed quantity takeoff. */
.tw-result-overview[data-quantities=missing] .tw-preliminary { color: #71521e; }
.tw-result-overview .tw-add-drawings { margin-top: 24px; min-height: 48px; }

/* The estimate is the result. Contact details come after the visible budget. */
.takeoff-workspace:is([data-takeoff-state=review],[data-takeoff-state=handoff],[data-takeoff-state=sending],[data-takeoff-state=sent]) #ai-bar { display: none !important; }
.takeoff-workspace:is([data-takeoff-state=review],[data-takeoff-state=sent]) #ai-status { display: none; }
.takeoff-workspace .tw-result-overview[data-quantities=available] .tw-preliminary,.takeoff-workspace[data-takeoff-state=review] .tw-result-overview[data-quantities=available] .tw-next-action { display: none; }
.takeoff-workspace .tw-result-overview[data-quantities=available] h3 { font-size: 24px; margin-top: 0; }
.takeoff-workspace .tw-result-overview { padding: 24px 28px; border-bottom: 1px solid #10244125; }
.takeoff-workspace .tw-result-overview h3 { font-size: clamp(26px,2.4vw,34px); max-width: none; margin: 8px 0 12px; }
.takeoff-workspace .tw-result-overview p { margin-bottom: 8px; }
.takeoff-workspace .tw-result-overview .tw-read-facts { border: 0; padding: 0; font-size: 13px; color: var(--tw-muted); }
.takeoff-workspace .tw-result-overview .tw-next-action { margin: 12px 0 0; }
.takeoff-workspace #ai .tw-price-fields { margin: 0; padding: 0; border: 0; min-width: 0; width: 100%; }
.takeoff-workspace #ai .tw-budget { border: 0; background: #fffefb; padding: 28px; min-width: 0; }
.takeoff-workspace #ai .ai-price-sum { display: block; margin: 0; padding: 0; border: 0; background: transparent; color: #102441; }
.takeoff-workspace #ai .ai-price-sum span { display: block; color: #374659; font: 500 16px/1.4 var(--font-body); letter-spacing: 0; text-transform: none; }
.takeoff-workspace #ai .ai-price-sum b { display: block; font: 600 clamp(34px,3.8vw,52px)/1.2 var(--font-body); letter-spacing: -.025em; color: #102441; margin-top: 6px; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; white-space: normal; }
.takeoff-workspace #ai .tw-budget-coverage { font: 500 14px/1.5 var(--font-body); color: #374659; margin: 12px 0 6px; }
.takeoff-workspace #ai .tw-budget-scope { color: var(--tw-muted); font: 400 13px/1.6 var(--font-body); margin: 0 0 20px; max-width: 68ch; }
.takeoff-workspace #ai .tw-budget-heading { margin: 0 0 12px; font: 500 26px/1.2 var(--font-body); }
.takeoff-workspace #ai .ai-tiers { border: 1px solid #10244145; border-radius: 4px; margin: 0 0 8px; display: inline-flex; max-width: 100%; }
.takeoff-workspace #ai .ai-tier { font: 500 13px/1.4 var(--font-body); letter-spacing: 0; text-transform: none; min-height: 44px; padding: 10px 16px; }
.takeoff-workspace #ai .ai-tier-note { font: 400 12px/1.5 var(--font-body); color: var(--tw-muted); margin: 0 0 24px; }
.takeoff-workspace #ai .tw-materials-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin: 24px 0 12px; }
.takeoff-workspace #ai .tw-materials-head h3 { font: 500 20px/1.3 var(--font-body); margin: 0; }
.takeoff-workspace #ai .tw-materials-head>span { flex-shrink: 0; font-size: 12px; color: var(--tw-muted); }
.takeoff-workspace #ai .ai-price-rows { border: 0; background: transparent; }
.takeoff-workspace #ai .ai-price-row,.takeoff-workspace #ai .ai-price-head { display: grid; grid-template-columns: minmax(0,1fr) 80px 85px 95px; column-gap: 12px; padding: 16px 0; border-bottom: 1px solid #10244125; }
.takeoff-workspace #ai .ai-price-head { padding: 10px 0; background: transparent; border-top: 1px solid #10244125; color: var(--tw-muted); font: 500 12px/1.4 var(--font-body); text-transform: none; letter-spacing: 0; }
.takeoff-workspace #ai .ai-price-row .pi { display: flex; align-items: start; gap: 12px; }
.takeoff-workspace #ai .tw-product-media { width: 56px; height: 56px; flex: 0 0 56px; background: #f0eee8; border: 1px solid #10244118; display: grid; place-items: center; position: relative; border-radius: 4px; overflow: hidden; }
.takeoff-workspace #ai .tw-product-media img { width: 100%; height: 100%; object-fit: contain; position: absolute; inset: 0; background: #fff; }
.takeoff-workspace #ai .tw-product-placeholder { font: 400 10px/1.2 var(--font-body); color: #505d6c; }
.takeoff-workspace #ai .tw-product-media.has-photo .tw-product-placeholder { visibility: hidden; }
.takeoff-workspace #ai .tw-product-text { min-width: 0; }
.takeoff-workspace #ai .ai-price-row .pi b { font: 500 15px/1.4 var(--font-body); overflow-wrap: anywhere; }
.takeoff-workspace #ai .ai-price-row .pi small { font: 400 11px/1.5 var(--font-body); letter-spacing: 0; color: var(--tw-muted); margin-top: 5px; }
.takeoff-workspace #ai .ai-price-row :is(.pq,.pu,.pt) { font: 400 14px/1.5 var(--font-body); font-variant-numeric: tabular-nums; min-width: 0; white-space: normal; overflow-wrap: anywhere; padding-top: 4px; }
.takeoff-workspace #ai .ai-price-row .pt { font-weight: 600; }
.takeoff-workspace #ai .ai-price-row .ai-edit { gap: 10px; padding-left: 68px; margin-top: 10px; }
.takeoff-workspace #ai .ai-price-row .ai-edit-btn { font: 500 12px/1.4 var(--font-body); letter-spacing: 0; text-transform: none; min-height: 44px; padding: 8px 12px; border-radius: 4px; }
.takeoff-workspace #ai .ai-price-row input.ai-edit-qty { width: 72px; min-height: 44px; padding: 8px; font: 400 16px/1.4 var(--font-body); text-align: right; border-radius: 4px; }
.takeoff-workspace #ai .tw-qty-unit { display: block; font-size: 11px; color: var(--tw-muted); margin-top: 3px; }
.takeoff-workspace #ai .tw-show-materials { width: 100%; min-height: 46px; margin-top: 12px; background: #efebe1; border: 1px solid #10244130; border-radius: 4px; color: #102441; font: 500 14px/1.4 var(--font-body); cursor: pointer; }
.takeoff-workspace #ai .tw-image-note,.takeoff-workspace #ai .tw-price-version { font: 400 11px/1.55 var(--font-body); color: var(--tw-muted); margin: 12px 0 0; }
.takeoff-workspace #ai .ai-price details { margin-top: 20px; padding-top: 15px; border-top: 1px solid #10244125; }
.takeoff-workspace #ai .ai-price summary { font: 500 14px/1.5 var(--font-body); min-height: 44px; letter-spacing: 0; text-transform: none; }
.takeoff-workspace #ai .ai-price details li { font: 400 13px/1.6 var(--font-body); padding-bottom: 10px; }
.takeoff-workspace #ai .ai-price-edited { font: 400 12px/1.5 var(--font-body); letter-spacing: 0; text-transform: none; }
.takeoff-workspace #ai .ai-sku-search { grid-column: 1/-1; min-width: 0; }
.takeoff-workspace #ai .ai-sku-hit { min-height: 54px; white-space: normal; }
.takeoff-workspace #ai-handoff { padding: 28px 24px; }
.takeoff-workspace #ai-handoff h3 { font-size: 24px; }
.takeoff-workspace #ai-handoff>p { font-size: 14px; margin-bottom: 20px; }
.takeoff-workspace #ai-handoff form { display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; }
.takeoff-workspace #ai-handoff form>* { grid-column: 1; }
.takeoff-workspace #ai .tw-price-fields:disabled .ai-edit { display: none; }
@media(max-width:999px) {
  .takeoff-workspace #ai-out:has(.tw-result-overview) { display: flex; flex-direction: column; }
  .takeoff-workspace #ai-out>.tw-result-overview { order: 0; width: 100%; box-sizing: border-box; }
  .takeoff-workspace #ai-out>.tw-price-fields { order: 1; }
  .takeoff-workspace #ai-out>.tw-result-details { order: 2; width: 100%; }
  .takeoff-workspace #ai-out>#ai-handoff { order: 3; width: 100%; box-sizing: border-box; }
}
@media(max-width:700px) {
  .takeoff-workspace #ai .tw-budget { padding: 24px 18px; }
  .takeoff-workspace .tw-result-overview { padding: 22px 18px; }
  .takeoff-workspace .tw-result-overview h3 { font-size: 27px; }
  .takeoff-workspace #ai .ai-price-sum b { font-size: clamp(30px,9vw,42px); }
  .takeoff-workspace #ai .ai-price-sum span { font-size: 15px; }
  .takeoff-workspace #ai .ai-tiers { display: flex; width: 100%; }
  .takeoff-workspace #ai .ai-tier { flex: 1; padding: 10px 5px; font-size: 12px; }
  .takeoff-workspace #ai .tw-materials-head { display: block; margin-top: 20px; }
  .takeoff-workspace #ai .tw-materials-head h3 { font-size: 19px; margin-bottom: 4px; }
  .takeoff-workspace #ai .ai-price-head { display: none; }
  .takeoff-workspace #ai .ai-price-row { grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1.1fr); grid-template-areas: 'pi pi pi' 'pq pu pt' 'ed ed ed'; gap: 14px 10px; padding-block: 18px; }
  .takeoff-workspace #ai .ai-price-row .pi { gap: 12px; }
  .takeoff-workspace #ai .ai-price-row .pi b { font-size: 15px; }
  .takeoff-workspace #ai .ai-price-row .pi small { font-size: 11px; }
  .takeoff-workspace #ai .ai-price-row :is(.pq,.pu,.pt) { text-align: left; font-size: 14px; padding: 0; }
  .takeoff-workspace #ai .ai-price-row :is(.pq,.pu,.pt)::before { content: attr(data-label); display: block; font: 400 11px/1.4 var(--font-body); color: var(--tw-muted); margin-bottom: 7px; }
  .takeoff-workspace #ai .ai-price-row .pt { text-align: right; }
  .takeoff-workspace #ai .ai-price-row .ai-edit { margin: 0; padding: 0; gap: 10px; }
  .takeoff-workspace #ai .ai-price-row .ai-edit-btn { flex: 1; }
  .takeoff-workspace #ai .ai-price-row input.ai-edit-qty { text-align: left; width: 70px; }
  .takeoff-workspace #ai .ai-sku-search { grid-area: auto; }
  .takeoff-workspace #ai-handoff { padding: 24px 18px; }
}
/* Numbered drawing review and per-point evidence responses. */
.tw-summary-list{padding-left:1.5rem;display:grid;gap:.75rem;max-width:80ch}.tw-questions{scroll-margin-top:100px}.tw-question{border-top:1px solid #d9d5cb;padding:1rem 0;max-width:100%;overflow-wrap:anywhere}.tw-question summary{display:flex;gap:1rem;justify-content:space-between;cursor:pointer;line-height:1.5}.tw-question summary strong{font-weight:500}.tw-question-badge{font-size:.75rem;white-space:nowrap;color:#5c512e}.tw-question label{display:block;margin-top:1rem;font-size:.85rem;font-weight:600}.tw-question textarea{width:100%;box-sizing:border-box;min-height:100px;padding:.75rem;font:inherit}.tw-question input[type=file]{max-width:100%;margin:.5rem 0}.tw-answer-feedback{max-width:80ch;line-height:1.55}.tw-question-count{font-weight:600}.tw-pdf-option{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem}.tw-question .btn{margin:.5rem 0}.tw-questions>.btn{margin-top:1rem}.tw-result-overview>.btn{margin-top:.75rem}@media(max-width:600px){.tw-question summary{display:block}.tw-question-badge{display:block;margin-top:.4rem}.tw-question .btn,.tw-questions>.btn{width:100%}}
