.item-picker-panel{padding:10px 0;border-bottom:1px solid #c6d6cc;margin-bottom:10px}.item-picker-panel label,.item-edit-controls label{display:grid;gap:4px;margin:6px 0;font-size:12px}.item-picker-panel input,.item-picker-panel select,.item-edit-controls input{width:100%;min-width:0;box-sizing:border-box;padding:8px;border:1px solid #aec3b7;border-radius:5px;font:inherit;color:#183d2b;background:#fff}.item-picker-panel p,.item-edit-controls p{font-size:12px;line-height:1.5}.item-picker-panel button,.item-move-buttons button{min-height:36px;border:1px solid #aec3b7;border-radius:5px;background:#f1f8f3;color:#183d2b;cursor:pointer;padding:6px 10px}.item-move-buttons{display:flex;gap:6px;flex-wrap:wrap}.item-edit-controls{padding:10px;background:#edf7f5;border:1px solid #bad8d2;border-radius:6px;margin-bottom:12px}.item-picker-panel summary{cursor:pointer;padding:10px 0;font-weight:600}
.item-picker-panel{padding:8px 10px 12px}.item-wall-tools{padding:4px 10px 12px;border-bottom:1px solid #c6d6cc}.item-wall-tools>summary,.item-edit-controls summary{cursor:pointer;padding:8px 0;font-size:12px;font-weight:600}.item-wall-tools .wall-picker{margin-top:6px}.item-edit-controls h3{margin-top:0}.item-edit-controls>p{margin:6px 0 10px}
:root {
  color-scheme: light;
  --green: #1c6243;
  --green-dark: #144a32;
  --green-soft: #e7f1eb;
  --red: #ed1c24;
  --ink: #20342a;
  --muted: #6f7f76;
  --faint: #96a39b;
  --paper: #f5f7f5;
  --panel: #ffffff;
  --line: #dfe7e1;
  --line-strong: #cbd7cf;
  --orange: #bd7a22;
  --shadow: 0 14px 36px rgba(25, 58, 40, 0.08);
  font-family: "Segoe UI Variable", "Segoe UI", system-ui, sans-serif;
  font-synthesis: none;
}

* { box-sizing: border-box; }
html, body { min-height: 100%; margin: 0; }
body { min-width: 980px; background: var(--paper); color: var(--ink); }
button, input, select { font: inherit; }
button { color: inherit; }
.app-shell { display: flex; flex-direction: column; min-height: 100vh; min-height: 100dvh; }
.recovery-notice { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 20px; background:#fff4dd; border-bottom:1px solid #d6af65; color:#533b17; font-size:12px; }
.recovery-notice p { margin:4px 0 0; overflow-wrap:anywhere; }
.recovery-actions { display:flex; flex-wrap:wrap; gap:8px; flex-shrink:0; }
.action-status { margin:5px 0 0; padding:7px 10px; border-left:3px solid var(--green); background:#edf5f0; color:#203b2c; font-size:12px; overflow-wrap:anywhere; }
@media(max-width:700px) { .recovery-notice { align-items:flex-start; flex-direction:column; padding:10px 14px; } }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.topbar { display: flex; align-items: center; gap: 24px; min-height: 66px; padding: 8px 22px; background: var(--green); color: white; }
.brand-lockup { display: flex; align-items: center; gap: 12px; min-width: 292px; color: white; text-decoration: none; }
.brand-logo { display: block; width: 188px; height: 42px; padding: 3px 6px; border-radius: 5px; background: white; object-fit: contain; }
.app-name { display: flex; flex-direction: column; gap: 2px; padding-left: 12px; border-left: 1px solid rgba(255,255,255,.35); white-space: nowrap; }
.app-name strong { font-size: 18px; font-weight: 650; letter-spacing: -.02em; line-height: 1; }
.app-name small { color: #d9e9df; font-size: 9px; line-height: 1.2; }
.project-title-wrap { display: flex; flex: 1; flex-direction: column; align-items: center; gap: 2px; min-width: 190px; }
.project-title { width: min(34vw, 340px); padding: 2px 4px; border: 0; border-bottom: 1px solid rgba(255,255,255,.35); background: transparent; color: white; font-family: Georgia, "Times New Roman", serif; font-size: 17px; text-align: center; outline: none; }
.project-title::placeholder { color: #cce1d3; }
.project-title:focus { border-bottom-color: white; }
.save-state { display: flex; align-items: center; gap: 6px; color: #d9e9df; font-size: 10px; }
#saveDot { width: 6px; height: 6px; border-radius: 50%; background: #9bd4ac; }
#saveDot.is-saving { background: #f4bf6f; }
.top-actions { display: flex; gap: 6px; min-width: 0; max-width:100%; flex-wrap:wrap; justify-content: flex-end; }

/* Optional review tools share the workspace controls without covering the canvas
   until opened. Long evidence and small screens stay inside their own dialog. */
#buildingSectionsDialog,#fabricationAttachmentsDialog,#accessCorridorsDialog,
#cloudProjectsDialog,#standardsReviewDialog,#standardsRegisterDialog { font:inherit; color:var(--ink); }
#buildingSectionsDialog button,#fabricationAttachmentsDialog button,#accessCorridorsDialog button,
#cloudProjectsDialog button,#standardsReviewDialog button,#standardsRegisterDialog button {
  border:1px solid var(--line-strong); border-radius:5px; background:var(--green-soft);
  color:var(--ink); padding:8px 12px; min-height:36px; cursor:pointer; font-size:12px;
}
#buildingSectionsDialog label,#fabricationAttachmentsDialog label,#accessCorridorsDialog label {font-size:12px;}
#standardsReviewDialog pre,#standardsRegisterDialog pre {white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;}
#standardsRegisterDialog label{display:grid;gap:5px;font-size:12px;}
#standardsRegisterDialog input,#standardsRegisterDialog select{min-width:0;max-width:100%;font:inherit;padding:7px;border:1px solid var(--line);border-radius:6px;}
#standardsRegisterDialog section{border-bottom:1px solid var(--line);padding-bottom:8px;overflow-wrap:anywhere;}
#assemblyProcurementDialog .field-grid,#openingCatalogueDialog .field-grid {row-gap:12px;}
.primary-button, .subtle-button, .example-top-button, .example-button, .icon-action, .square-button, .link-button, .tool-button { cursor: pointer; transition: background 150ms ease, border-color 150ms ease, color 150ms ease, transform 150ms ease; }
.primary-button, .subtle-button { min-height: 32px; padding: 0 12px; border-radius: 5px; font-size: 11px; font-weight: 700; }
.primary-button { border: 1px solid var(--green); background: var(--green); color: white; }
.primary-button:hover { background: var(--green-dark); border-color: var(--green-dark); transform: translateY(-1px); }
.topbar .primary-button { border-color: white; background: white; color: var(--green); }
.topbar .primary-button:hover { background: #eff7f2; }
.subtle-button { border: 1px solid rgba(255,255,255,.4); background: transparent; color: white; }
.subtle-button:hover { border-color: white; background: rgba(255,255,255,.12); }
.example-top-button { min-height: 32px; padding: 0 12px; border: 1px solid #8fe0c0; border-radius: 5px; background: #dff7ea; color: var(--green-dark); font-size: 11px; font-weight: 800; }
.example-top-button:hover { background: white; border-color: white; transform: translateY(-1px); }

.example-prompt { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 10px 20px 0; padding: 11px 14px; border: 1px solid #b9dcc8; border-radius: 8px; background: #f0f8f2; box-shadow: 0 5px 16px rgba(25,58,40,.05); }
.example-prompt-copy { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.example-prompt-copy strong { color: var(--green-dark); font-size: 12px; }
.example-prompt-copy span { color: var(--muted); font-size: 11px; }
.example-prompt-actions { display: flex; align-items: center; gap: 10px; flex: none; }
.example-prompt .link-button { padding: 0; border: 0; background: transparent; color: var(--green); font-size: 10px; font-weight: 700; }
.example-prompt .link-button:hover { color: var(--green-dark); text-decoration: underline; }

.modebar { display: flex; align-items: center; min-height: 49px; padding: 0 20px; border-bottom: 1px solid var(--line); background: var(--panel); }
.mode-tabs { display: flex; align-self: stretch; gap: 2px; }
.mode-tab { display: flex; align-items: center; gap: 7px; padding: 0 18px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: var(--muted); cursor: pointer; font-size: 11px; font-weight: 650; }
.mode-tab:hover { background: var(--green-soft); color: var(--green); }
.mode-tab.is-active { border-bottom-color: var(--green); color: var(--green); }
.mode-tab-action { color: var(--green-dark); }
.mode-icon { font-size: 17px; line-height: 1; }
.level-control { display: flex; align-items: center; gap: 7px; margin-left: auto; padding-left: 18px; color: var(--muted); font-size: 10px; }
.level-control select { min-height: 28px; max-width: 170px; padding: 0 24px 0 8px; border: 1px solid var(--line); border-radius: 4px; background: white; color: var(--ink); font-size: 11px; }
.square-button { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid var(--line-strong); border-radius: 4px; background: white; color: var(--green); font-size: 18px; line-height: 1; }
.square-button:hover { border-color: var(--green); background: var(--green-soft); }
.mode-actions { display: flex; gap: 3px; margin-left: 18px; padding-left: 14px; border-left: 1px solid var(--line); }
.icon-action { min-height: 28px; padding: 0 8px; border: 1px solid transparent; border-radius: 4px; background: transparent; color: var(--muted); font-size: 11px; font-weight: 650; }
.icon-action:hover { border-color: var(--line); background: var(--green-soft); color: var(--green); }

.workspace { display: grid; grid-template-columns: 150px minmax(0, 1fr) 302px; flex: 0 0 auto; height: calc(100vh - 115px); height: calc(100dvh - 115px); min-height: 420px; overflow: hidden; }
.tool-rail, .design-stage, .inspector { min-height: 0; }
.tool-rail { display: flex; flex-direction: column; padding: 20px 12px 14px; border-right: 1px solid var(--line); background: #f8faf8; }
.rail-heading, .section-kicker { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.rail-heading { margin: 0 8px 7px; }
.tool-button { display: flex; align-items: center; gap: 9px; width: 100%; min-height: 36px; padding: 0 9px; border: 1px solid transparent; border-radius: 5px; background: transparent; color: var(--muted); font-size: 11px; font-weight: 650; text-align: left; }
.tool-button:hover { background: #eef5f0; color: var(--ink); }
.tool-button.is-active { border-color: #bfd8c8; background: var(--green-soft); color: var(--green); }
.tool-symbol { display: grid; width: 20px; height: 20px; place-items: center; flex: 0 0 20px; font-size: 18px; line-height: 1; }
.wall-symbol { width: 16px; height: 4px; margin-left: 2px; border-radius: 2px; background: currentColor; }
.door-symbol { width: 15px; height: 15px; margin-left: 2px; border: 2px solid currentColor; border-right: 0; border-bottom: 0; border-radius: 2px 0 0 0; }
.window-symbol { width: 16px; height: 13px; margin-left: 2px; border: 2px solid currentColor; background: linear-gradient(90deg, transparent 44%, currentColor 44%, currentColor 56%, transparent 56%); }
.floor-symbol { width: 17px; height: 14px; margin-left: 1px; border: 2px dashed currentColor; transform: skew(-18deg); }
.foundation-symbol { width: 17px; height: 8px; margin-left: 1px; border: 2px dashed currentColor; background: rgba(128,99,154,.18); }
.deck-symbol { width: 17px; height: 14px; margin-left: 1px; border: 2px solid currentColor; background: repeating-linear-gradient(0deg, transparent 0 3px, currentColor 3px 4px); }
.pan-symbol { font-size: 16px; }
.tool-divider { height: 1px; margin: 15px 5px; background: var(--line); }
.field-label { margin: 2px 8px 6px; color: var(--muted); font-size: 10px; }
.input-with-unit { display: flex; align-items: center; margin: 0 8px; border: 1px solid var(--line-strong); border-radius: 4px; background: white; }
.input-with-unit input { width: 100%; min-width: 0; padding: 6px 6px; border: 0; outline: 0; background: transparent; color: var(--ink); font-size: 11px; }
.input-with-unit span { padding-right: 7px; color: var(--faint); font-size: 9px; }
.tool-help { margin: 9px 8px 0; color: var(--muted); font-size: 10px; line-height: 1.45; }
.layer-panel { margin: 18px 7px 0; padding-top: 13px; border-top: 1px solid var(--line); }
.layer-panel-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.layer-panel-head .rail-heading { margin: 0; }
.layer-panel-head .link-button { padding: 0; font-size: 9px; }
.layer-toggle { display: flex; align-items: center; gap: 6px; min-height: 24px; color: var(--muted); font-size: 10px; cursor: pointer; }
.layer-toggle input { width: 13px; height: 13px; accent-color: var(--green); }
.layer-swatch { width: 15px; height: 4px; border-radius: 2px; }
.foundation-swatch { border: 1px dashed #80639a; background: #c9b9d3; }
.floor-swatch { border: 1px dashed #b58a4c; background: #d9c7a7; }
.wall-swatch { background: #214b37; }
.opening-swatch { background: #397ca0; }
.deck-swatch { background: #4c8b62; }
.rail-spacer { flex: 1; min-height: 20px; }
.example-button { min-height: 31px; padding: 0 8px; border: 1px solid #c4dccd; border-radius: 5px; background: #f0f8f2; color: var(--green); font-size: 10px; font-weight: 700; }
.example-button:hover { border-color: var(--green); background: var(--green-soft); }
.rail-note { margin: 9px 8px 0; color: var(--faint); font-size: 9px; line-height: 1.5; }

.design-stage { display: flex; flex-direction: column; min-width: 0; padding: 18px 20px 0; }
.canvas-shell { position: relative; flex: 1; min-height: 420px; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #fbfcfb; box-shadow: var(--shadow); }
#designCanvas { display: block; width: 100%; height: 100%; touch-action: none; cursor: crosshair; }
.canvas-empty { position: absolute; top: 50%; left: 50%; width: min(360px, 80%); color: var(--muted); pointer-events: none; text-align: center; transform: translate(-50%, -50%); }
.canvas-empty.is-hidden { display: none; }
.empty-mark { display: grid; width: 47px; height: 47px; margin: 0 auto 12px; place-items: center; border: 1px solid #b8d2c0; border-radius: 50%; background: var(--green-soft); color: var(--green); font-size: 25px; }
.canvas-empty h2 { margin: 0 0 7px; color: var(--ink); font-family: Georgia, "Times New Roman", serif; font-size: 21px; font-weight: 500; }
.canvas-empty p { margin: 0 auto 16px; font-size: 11px; line-height: 1.55; }
.canvas-empty .primary-button { pointer-events: auto; }
.drawing-hud { max-width:calc(100% - 28px); flex-wrap:wrap; position: absolute; left: 14px; bottom: 14px; display: flex; align-items: center; gap: 7px; padding: 6px 7px 6px 10px; border: 1px solid #c7ded0; border-radius: 5px; background: rgba(239, 248, 242, .96); color: var(--green); font-size: 10px; font-weight: 650; box-shadow: 0 5px 14px rgba(22, 74, 49, .08); }
.drawing-hud[hidden] { display: none; }
.drawing-hud button { min-height: 25px; padding: 0 8px; border: 1px solid #bed6c5; border-radius: 4px; background: white; color: var(--green); cursor: pointer; font-size: 10px; font-weight: 700; }
.drawing-hud button:hover { background: var(--green-soft); }
.stage-footer { display: flex; align-items: center; gap: 9px; min-height: 37px; color: var(--muted); font-size: 10px; }
.footer-separator { width: 1px; height: 12px; background: var(--line-strong); }
.stage-tip { margin-left: auto; color: var(--faint); }

.inspector { overflow: auto; border-left: 1px solid var(--line); background: var(--panel); }
.inspector-section { padding: 18px 17px; border-bottom: 1px solid var(--line); }
.inspector-head { display: flex; align-items: flex-start; justify-content: space-between; padding-bottom: 14px; }
.section-kicker { margin: 0 0 5px; }
.inspector h2, .inspector h3 { margin: 0; color: var(--ink); font-size: 17px; font-weight: 650; letter-spacing: -.02em; }
.inspector h3 { font-size: 14px; }
.level-badge { padding: 5px 7px; border-radius: 20px; background: var(--green-soft); color: var(--green); font-size: 9px; font-weight: 750; }
.selection-details { display: grid; gap: 12px; }
.selection-details > * { min-width: 0; }
.selection-details select { min-width: 0; max-width: 100%; }
.overlay-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; }
.overlay-opacity { display: grid; grid-template-columns: 1fr auto; gap: 6px; color: var(--muted); font-size: 10px; }
.overlay-opacity input { grid-column: 1 / -1; width: 100%; margin: 0 0 12px; accent-color: var(--green); }
.overview-copy { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.overview-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.stat-card { padding: 9px; border: 1px solid var(--line); border-radius: 5px; background: #fbfdfb; }
.stat-card span { display: block; color: var(--muted); font-size: 9px; }
.stat-card strong { display: block; margin-top: 4px; color: var(--green); font-size: 17px; font-weight: 700; }
.stat-card small { display: block; margin-top: 2px; color: var(--faint); font-size: 9px; }
.detail-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.detail-type { margin: 0 0 3px; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.detail-head h3 { font-size: 16px; }
.delete-button { min-height: 26px; padding: 0 7px; border: 1px solid #f2c5c6; border-radius: 4px; background: #fff7f7; color: #b43236; cursor: pointer; font-size: 10px; }
.delete-button:hover { background: #ffecec; }
.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.field-group-label { margin: 12px 0 -2px; color: var(--green); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.inspector-field { display: flex; flex-direction: column; min-width: 0; gap: 4px; }
.inspector-field.full { grid-column: 1 / -1; }
.inspector-field label { color: var(--muted); font-size: 9px; }
.inspector-field input, .inspector-field select { width: 100%; min-height: 29px; padding: 0 7px; border: 1px solid var(--line-strong); border-radius: 4px; outline: 0; background: white; color: var(--ink); font-size: 11px; }
.inspector-field input:focus, .inspector-field select:focus { border-color: var(--green); box-shadow: 0 0 0 2px rgba(28, 98, 67, .1); }
.readout { display: flex; align-items: center; justify-content: space-between; padding: 8px 9px; border-radius: 4px; background: #f5f8f5; color: var(--muted); font-size: 10px; }
.readout strong { color: var(--ink); }
.section-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.link-button { padding: 0; border: 0; background: transparent; color: var(--green); font-size: 10px; font-weight: 700; }
.link-button:hover { text-decoration: underline; }
.quantity-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 12px; }
.quantity-card { padding: 9px; border: 1px solid var(--line); border-radius: 5px; background: #fbfdfb; }
.quantity-card span { display: block; color: var(--muted); font-size: 9px; }
.quantity-card strong { display: block; margin-top: 3px; color: var(--green); font-size: 16px; }
.quantity-card small { color: var(--faint); font-size: 9px; }
.quantity-site-summary { grid-column: 1 / -1; display: grid; gap: 9px; padding: 10px; border: 1px solid #c7d8ca; border-radius: 8px; background: #f5f9f4; }
.quantity-site-summary > div:first-child { display: grid; gap: 3px; }
.quantity-site-summary > div:first-child strong { color: var(--green-dark); font-size: 12px; }
.quantity-site-summary > div:first-child small { color: var(--muted); font-size: 9px; line-height: 1.4; }
.quantity-site-summary .takeoff-highlights { margin: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.quantity-table { margin-top: 12px; }
.quantity-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding: 8px 0; border-top: 1px solid var(--line); font-size: 10px; }
.quantity-row span { color: var(--muted); }
.quantity-row strong { color: var(--ink); font-weight: 700; text-align: right; }
.quantity-row small { grid-column: 1 / -1; color: var(--faint); font-size: 9px; line-height: 1.35; }
.custom-takeoff-group { margin-top: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 6px; background: #fbfdfb; }
.custom-takeoff-group-name, .custom-takeoff-scope, .custom-takeoff-item label { display: grid; gap: 4px; color: var(--muted); font-size: 10px; }
.custom-takeoff-group-name input, .custom-takeoff-scope textarea, .custom-takeoff-item input, .custom-takeoff-item select, .custom-takeoff-item textarea { width: 100%; min-width: 0; padding: 6px 7px; border: 1px solid var(--line); border-radius: 4px; background: #fff; color: var(--ink); font: inherit; }
.custom-takeoff-scope { margin-top: 10px; }
.custom-takeoff-items { display: grid; gap: 9px; margin: 10px 0; }
.custom-takeoff-category { display: grid; gap: 7px; margin-top: 12px; }
.custom-takeoff-category h4 { margin: 0; padding: 7px 8px; border-left: 3px solid var(--accent); background: #eef5ef; color: var(--ink); font-size: 12px; }
.custom-takeoff-category-summary { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 10px; }
.custom-takeoff-category-summary span { padding: 4px 6px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--muted); font-size: 10px; }
.custom-takeoff-item { display: grid; grid-template-columns: minmax(0, 1.4fr) 74px 86px; gap: 7px; padding: 9px; border-top: 1px solid var(--line); }
.custom-takeoff-item .custom-takeoff-basis { grid-column: 1 / -1; }
.custom-takeoff-item .delete-button { justify-self: start; }
.takeoff-references { margin-top: 14px; border-top: 1px solid var(--line); padding-top: 10px; }
.takeoff-references summary { cursor: pointer; color: var(--accent); font-size: 11px; font-weight: 700; }
.takeoff-reference-list { display: grid; gap: 7px; margin-top: 9px; }
.takeoff-reference { display: grid; gap: 2px; padding: 7px 8px; border-left: 2px solid #97b7a1; background: #f5faf6; }
.takeoff-reference a { color: var(--accent); font-size: 11px; font-weight: 700; }
.takeoff-reference small { color: var(--muted); font-size: 10px; line-height: 1.35; }
@media (max-width: 720px) { .custom-takeoff-item { grid-template-columns: 1fr 1fr; } .custom-takeoff-item label:first-child, .custom-takeoff-item .custom-takeoff-basis { grid-column: 1 / -1; } }
.discipline-plan-list { display: grid; gap: 9px; margin-top: 12px; }
.discipline-plan-card { display: grid; gap: 8px; padding: 10px; border: 1px solid var(--line); border-radius: 5px; background: #fbfdfb; }
.discipline-plan-card h4 { margin: 0; color: var(--ink); font-size: 12px; }
.discipline-plan-scope { display: block; margin-top: 3px; color: var(--faint); font-size: 9px; }
.discipline-plan-actions { display: flex; align-items: center; gap: 7px; }
.discipline-plan-actions select { width: auto; min-width: 104px; }
.discipline-plan-card label { display: grid; gap: 4px; color: var(--muted); font-size: 10px; }
.discipline-plan-card input, .discipline-plan-card select, .discipline-plan-card textarea { width: 100%; min-width: 0; padding: 6px 7px; border: 1px solid var(--line); border-radius: 4px; background: #fff; color: var(--ink); font: inherit; }
.example-scope { margin-top: 14px; padding: 12px; border: 1px solid var(--line); border-radius: 6px; background: rgba(255,255,255,.72); }
.scope-audit-note { color: var(--faint); font-size: 9px; }
.scope-audit-grid { display: grid; gap: 7px; margin-top: 10px; }
.scope-audit-row { display: grid; grid-template-columns: 20px 1fr; gap: 7px; align-items: start; padding: 7px; border: 1px solid var(--line); border-radius: 4px; background: rgba(255,255,255,.54); }
.scope-audit-row strong, .scope-audit-row small { display: block; }
.scope-audit-row strong { color: var(--ink); font-size: 10px; }
.scope-audit-row small { margin-top: 2px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.scope-audit-mark { display: grid; width: 18px; height: 18px; place-items: center; border-radius: 50%; color: #fff; font-weight: 700; font-size: 11px; }
.scope-audit-mark.is-ok { background: #2f8a68; }
.scope-audit-mark.is-review { background: #c8872b; }
.inspector-footnote { margin: 13px 0 0; color: var(--faint); font-size: 9px; line-height: 1.45; }
.warning-note { padding: 9px; border-left: 3px solid #e4aa54; border-radius: 3px; background: #fff8ed; color: #7c5a2d; font-size: 10px; line-height: 1.45; }
.review-note { padding: 9px; border-left: 3px solid #2f8a68; border-radius: 3px; background: #eef8f1; color: #245b43; font-size: 10px; line-height: 1.45; }
.foundation-warning { border-left-color: #ed1c24; background: #fff0f0; color: #8b272b; }
.tool-rail { overflow-y: auto; }
.rebar-swatch { background: #c86716; }
.roof-swatch { background: #b78750; }
.roof-summary { cursor: pointer; padding: 12px 0; font-size: 11px; color: var(--green); }
.reinforcement-heading { margin: 18px 0 10px !important; }
.bar-row { min-width: 0; padding: 9px; margin: 12px 0; border: 1px solid var(--line); border-radius: 5px; }
.bar-row legend { color: var(--green); font-size: 11px; }
.foundation-section { display: block; width: 100%; margin: 12px 0; background: #f8faf8; border-radius: 6px; }
.foundation-section text { font: 9px 'Segoe UI', sans-serif; fill: #375c72; }
#foundationScheduleDetails summary { cursor: pointer; padding: 12px 0; font-size: 11px; color: var(--green); }
.foundation-schedule-row { display: grid; gap: 5px; width: 100%; margin-bottom: 8px; padding: 10px; text-align: left; border: 1px solid var(--line); border-radius: 5px; background: #f8faf8; cursor: pointer; overflow-wrap: anywhere; }
.foundation-schedule-row strong { font-size: 11px; }
.foundation-schedule-row span, .foundation-schedule-row small { font-size: 10px; color: var(--muted); }
.compliance-section { background: #fafcf9; }
.jurisdiction-field { display: grid; gap: 5px; margin: 10px 0 11px; }
.jurisdiction-field label { color: var(--muted); font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.jurisdiction-field select { width: 100%; min-height: 30px; padding: 5px 8px; border: 1px solid var(--line); border-radius: 4px; background: white; color: var(--ink); font: inherit; }
.review-badge { padding: 4px 6px; border-radius: 999px; background: #fff4df; color: #8b652b; font-size: 8px; font-weight: 800; letter-spacing: .06em; }
.compliance-list { display: grid; gap: 7px; }
.compliance-row { padding: 8px 9px; border: 1px solid var(--line); border-radius: 5px; background: white; }
.compliance-row-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.compliance-row strong { color: var(--ink); font-size: 10px; }
.compliance-row small { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.compliance-status { padding: 2px 5px; border-radius: 999px; font-size: 8px; font-weight: 800; white-space: nowrap; }
.compliance-status.pass { background: #e7f4eb; color: #1c6243; }
.compliance-status.review { background: #edf1f6; color: #536274; }
.compliance-status.action { background: #fff0f0; color: #8b272b; }
.empty-selection { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }

.confirm-dialog { width: min(390px, calc(100% - 36px)); padding: 26px; border: 1px solid var(--line); border-radius: 8px; background: white; box-shadow: 0 24px 80px rgba(22, 62, 41, .2); color: var(--ink); }
.confirm-dialog::backdrop { background: rgba(22, 47, 33, .34); backdrop-filter: blur(3px); }
.confirm-dialog h2 { margin: 0 0 8px; font-family: Georgia, "Times New Roman", serif; font-size: 25px; font-weight: 500; }
.confirm-dialog form > p:not(.section-kicker) { margin: 0 0 22px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 7px; }
.confirm-dialog .subtle-button { border-color: var(--line-strong); background: white; color: var(--muted); }
.confirm-dialog .subtle-button:hover { border-color: var(--green); color: var(--green); }

button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid rgba(28, 98, 67, .25); outline-offset: 2px; }
button:disabled { cursor: default; opacity: .42; }

@media (max-width: 1180px) {
  body { min-width: 760px; }
  .workspace { grid-template-columns: 132px minmax(0, 1fr) 270px; }
  .brand-lockup { min-width: 245px; }
  .brand-logo { width: 165px; }
  .app-name { display: none; }
  .top-actions { min-width: 250px; }
  .tool-rail { padding-inline: 8px; }
  .stage-tip { display: none; }
}

.plan-sheet-dialog{width:min(620px,calc(100vw - 24px));max-height:90vh;overflow:auto}.plan-sheet-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.plan-sheet-fields label{display:grid;gap:6px}.plan-sheet-fields input,.plan-sheet-fields select{width:100%;min-height:44px}.plan-sheet-dialog p{line-height:1.5}#planSheetCoverage,#sheetSetCoverage{background:#edf5ef;padding:12px;border-radius:8px}.sheet-level-list{border:1px solid #d8dfd8;border-radius:8px;margin:16px 0;padding:12px}.sheet-level-list legend{padding:0 6px;font-weight:700}.sheet-level-list>div{display:grid;gap:8px}.sheet-level-option{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:8px;border-radius:6px;background:#f7f8f4}.sheet-level-option small{color:var(--muted)}@media(max-width:550px){.plan-sheet-fields{grid-template-columns:1fr}.sheet-level-option{grid-template-columns:auto 1fr}.sheet-level-option small{grid-column:2}}

.elevation-dialog{width:min(1200px,96vw);max-width:1200px;max-height:92vh;overflow:auto}.elevation-dialog #elevationGallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.elevation-dialog figure{margin:0;border:1px solid #bacbc0;border-radius:8px;padding:10px}.elevation-dialog svg{display:block;width:100%;height:auto}.elevation-dialog figcaption{font-size:13px;font-weight:600;margin-bottom:8px}#kitchenSchedule button{display:block;width:100%;text-align:left;margin-top:5px;padding:9px;background:#f5f8f3;border:1px solid #c5d6c9;border-radius:5px}.mode-actions{flex-wrap:wrap}.wet-area-dialog{width:min(1280px,96vw);max-width:1280px;max-height:92vh;overflow:auto}.wet-area-dialog #wetAreaGallery{display:grid;grid-template-columns:1fr;gap:16px}.wet-area-figure{margin:0;border:1px solid #bacbc0;border-radius:8px;padding:10px;background:#fff}.wet-area-figure figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;color:#234a35}.wet-area-figure svg{display:block;width:100%;height:auto}.energy-dialog{width:min(760px,96vw);max-height:92vh;overflow:auto}.energy-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.energy-form label{display:grid;gap:5px;color:var(--ink);font-size:11px;font-weight:700}.energy-form input,.energy-form select{min-height:38px;padding:7px;border:1px solid var(--line-strong);border-radius:5px;background:#fff;color:var(--ink)}.energy-form small{color:var(--muted);font-weight:400}.energy-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:1px solid var(--line);border-radius:8px;padding:12px;margin:0 0 16px}.energy-options legend{padding:0 6px;font-weight:700}.energy-options label{display:flex;align-items:center;gap:7px;font-size:11px}.energy-result{border:1px solid #b9d2c0;border-radius:8px;background:#f4f8f2;padding:14px;margin-bottom:16px}.energy-score{display:grid;grid-template-columns:1fr 1fr;gap:12px}.energy-score div{display:grid;gap:3px}.energy-score span{font-size:11px;color:var(--muted);font-weight:700}.energy-score strong{font-size:28px;color:var(--green-dark)}.energy-score strong small{font-size:14px}.energy-score div:last-child strong{font-size:22px}.energy-score div:last-child small{font-size:11px;color:var(--muted)}.energy-band{font-weight:700;color:var(--green-dark)}.energy-breakdown{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.energy-breakdown span{padding:5px 8px;border-radius:999px;background:#e1eee4;font-size:10px}.energy-result-note{font-size:11px;color:var(--muted);line-height:1.45}.energy-result h3{font-size:13px;margin:12px 0 5px}.energy-result ul{margin:0;padding-left:20px;font-size:11px;line-height:1.5}@media(max-width:800px){.elevation-dialog #elevationGallery{grid-template-columns:1fr}.energy-form{grid-template-columns:1fr 1fr}.energy-options{grid-template-columns:1fr}}@media(max-width:550px){.energy-form{grid-template-columns:1fr}}

#foundationSetoutSchedule{max-height:320px;overflow:auto;display:grid;gap:5px;margin-top:8px}.mode-actions{flex-wrap:wrap}

#foundationSetoutSchedule .schedule-row{display:block;width:100%;text-align:left;margin:5px 0;padding:9px;border:1px solid #c5d6c9;border-radius:5px;background:#f5f8f3;color:var(--ink);font:inherit;font-size:12px}#elevationGallery figure[hidden]{display:none}#elevationGallery figcaption button{margin-left:10px}
/* Workspace 73: clear navigation and view-only presentation controls. */
body.workspace-ready{min-width:0;overflow:hidden;--muted:#52685d;--faint:#687c70}
.workspace-ready .plan-clarity{display:flex;align-items:center;gap:8px;min-width:0;padding:5px 8px;border:1px solid #cddbd1;border-radius:7px;background:#f5faf6;color:var(--green-dark);font-size:11px;white-space:nowrap}
.workspace-ready .plan-clarity-title{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.workspace-ready .plan-clarity-field select{min-height:30px;padding:0 22px 0 8px;border:1px solid #b8cfc0;border-radius:5px;background:#fff;color:var(--green-dark);font-size:11px;font-weight:700}
.workspace-ready .plan-clarity-grid{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px}
.workspace-ready .plan-clarity-grid input{width:15px;height:15px;accent-color:var(--green)}
.workspace-ready .plan-clarity-hint{color:var(--muted);font-size:10px}
.workspace-ready .app-shell{height:100dvh;min-height:0}
.workspace-ready .topbar{gap:18px;min-height:66px;flex:none}
.workspace-ready .top-actions{min-width:0}
.workspace-ready .project-title-wrap{min-width:100px}
.workspace-ready .project-title{width:100%;max-width:470px;font-family:inherit;font-size:14px;text-overflow:ellipsis}
.workspace-ready .brand-lockup{min-width:290px}
.workspace-ready .modebar{min-height:49px;flex:none;gap:12px;padding:0 18px;border-bottom:1px solid var(--line)}
.workspace-ready .mode-tabs{flex:1;min-width:0}
.workspace-ready .mode-tab{font-size:12px;white-space:nowrap;min-height:48px;padding:0 16px}
.workspace-ready .level-control{margin-left:auto;min-width:0}
.workspace-ready .level-control select{max-width:170px}
.workspace-ready .drawing-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 18px;background:#f9fbf9;border-bottom:1px solid var(--line);flex:none}
.drawing-presets{display:flex;gap:5px;align-items:center;overflow:auto;min-width:0}
.workspace-ready .icon-action{min-height:32px;white-space:nowrap;font-size:12px;background:#fff;border:1px solid var(--line);padding:0 12px}
.workspace-ready .mode-actions{margin:0;padding:0;border:0;flex-wrap:nowrap;gap:6px}
.workspace-ready .workspace{height:auto;min-height:0;flex:1;grid-template-columns:212px minmax(0,1fr) 308px;position:relative;overflow:hidden}
.workspace-ready .tool-rail,.workspace-ready .inspector{display:flex;flex-direction:column;padding:0;overflow:hidden;background:#fff}
.workspace-tabs{display:flex;flex:none;border-bottom:1px solid var(--line);padding:4px 8px 0;gap:2px;background:#f7faf7}
.workspace-tabs .workspace-button{flex:1;font-size:12px;border:0;border-bottom:3px solid transparent;border-radius:0;background:none;padding:10px 4px;min-width:0}
.workspace-tabs [aria-selected=true]{border-bottom-color:var(--green);color:var(--green);font-weight:750;background:white}
.workspace-panel{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.workspace-ready [hidden]{display:none!important}
.workspace-button{border:1px solid var(--line-strong);border-radius:6px;background:#fff;padding:8px 12px;color:var(--green-dark);font-size:12px;cursor:pointer;min-height:34px;font-weight:600}
.workspace-button:hover{background:var(--green-soft);border-color:#a9c5b2}
.build-tool-group{padding:15px 10px 0}
.workspace-ready .rail-heading{margin:0 2px 8px;font-size:10px;letter-spacing:.09em;color:#596e62}
.build-tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.workspace-ready .tool-button{min-height:42px;font-size:12px;padding:6px;gap:5px;line-height:1.2;border-color:#e3eae5;background:#fbfcfa}
.workspace-ready .tool-button.is-active{background:#e1efe6;border-color:#8eb89b;color:#124a30;box-shadow:inset 3px 0 #257748}
.workspace-ready .tool-symbol{width:17px;flex-basis:17px;font-size:16px}
.build-measurement{padding:16px 10px}
.build-measurement .field-label{display:block;font-size:11px;margin:0 0 6px}
.build-measurement .input-with-unit{margin:0;min-height:36px}
.workspace-ready .tool-help{font-size:11px;margin:10px 0 0;line-height:1.55}
.workspace-rail-footer{border-top:1px solid var(--line);padding:10px;flex:none;background:#f7faf7}
.workspace-rail-footer button{width:100%;min-height:38px;font-size:11px}
.workspace-search{display:grid;gap:7px;padding:14px 12px 10px;font-size:11px;font-weight:650;color:var(--muted)}
.workspace-search input{width:100%;min-width:0;min-height:36px;border:1px solid var(--line-strong);border-radius:6px;padding:8px;background:#fff;font-size:12px;color:var(--ink)}
.workspace-ready .layer-panel{border:0;margin:0;padding:0 12px 12px}
.workspace-ready .layer-panel-head{margin:4px 0 10px}
.workspace-layer-group{border-top:1px solid var(--line);padding:4px 0}
.workspace-layer-group>summary{padding:12px 0;cursor:pointer;font-size:12px;font-weight:700;color:var(--green-dark)}
.layer-count{float:right;font-weight:400;font-size:11px;color:var(--muted);padding-right:4px}
.workspace-ready .layer-toggle{min-height:33px;font-size:11px;gap:8px;line-height:1.4;padding:4px 0}
.workspace-ready .layer-toggle input{width:16px;height:16px;flex-shrink:0}
.workspace-ready .layer-swatch{width:12px;flex-shrink:0}
.workspace-ready .design-stage{padding:12px 12px 0;min-height:0;background:#eaf0eb}
.workspace-ready .canvas-shell{min-height:0;border-radius:9px;box-shadow:0 2px 14px #153e2910}
.workspace-ready .stage-footer{min-height:30px;gap:8px;font-size:10px;white-space:nowrap;overflow:hidden}
.workspace-ready #modelStatus{overflow:hidden;text-overflow:ellipsis}
.workspace-ready .stage-tip{display:none}
.workspace-ready .inspector-section{padding:16px}
.workspace-ready .inspector h2{font-size:17px}
.workspace-ready .inspector h3{font-size:14px}
.workspace-ready .overview-copy,.workspace-ready .empty-selection{font-size:12px;line-height:1.6}
.workspace-ready .inspector-field label{font-size:11px}
.workspace-ready .inspector-field input,.workspace-ready .inspector-field select{min-height:35px;font-size:12px}
.workspace-ready .selection-details>label{display:grid;gap:6px;font-size:12px}
.workspace-ready .selection-details>label input,.workspace-ready .selection-details>label select,.workspace-ready .field-grid>label input,.workspace-ready .field-grid>label select{width:100%;min-height:35px;border:1px solid var(--line-strong);border-radius:5px;padding:6px}
.workspace-ready .stat-card span,.workspace-ready .stat-card small{font-size:11px;line-height:1.4}
.workspace-ready .stat-card strong{font-size:20px}
.workspace-ready .readout{font-size:12px;gap:12px}
.workspace-ready .inspector-footnote{font-size:10px;line-height:1.5}
.workspace-ready #workspace-schedules>section h3{font-size:14px}
.workspace-ready #workspace-schedules details>summary{font-size:12px;padding:10px 0;cursor:pointer;color:var(--green)}
.workspace-room-list{padding:0 12px 12px;display:grid;gap:6px}
.workspace-room{display:grid;text-align:left;gap:5px;font-size:12px;padding:11px}
.workspace-room small{font-weight:400;color:var(--muted);font-size:11px}
.workspace-empty{font-size:12px;color:var(--muted);padding:12px;line-height:1.6}
.workspace-menu{position:relative;flex:none;font-size:12px;z-index:12}
.workspace-menu>summary{padding:9px 12px;border:1px solid var(--line-strong);border-radius:6px;cursor:pointer;font-weight:650;list-style:none}
.workspace-menu>summary::after{content:' ▾'}
.topbar .workspace-menu>summary{border-color:#ffffff60}
.workspace-menu-body{position:absolute;right:0;top:calc(100% + 8px);display:grid;gap:3px;padding:8px;width:220px;background:#fff;border:1px solid var(--line-strong);border-radius:9px;box-shadow:0 12px 36px #193a4030;color:var(--ink)}
.workspace-menu:not([open]) .workspace-menu-body{display:none}
.workspace-ready .workspace-menu-body button{color:var(--ink);background:white;text-align:left;border:0;min-height:40px;justify-content:flex-start;font-size:12px;white-space:normal;padding:10px}
.workspace-ready .workspace-menu-body button:hover{background:var(--green-soft)}
.workspace-zoom{position:absolute;bottom:12px;right:12px;display:flex;gap:4px;background:#fffffff0;padding:5px;border:1px solid var(--line);border-radius:8px;box-shadow:0 3px 12px #163a4020}
.workspace-zoom button{min-width:36px;padding:5px 10px;min-height:34px}
.workspace-focus{grid-template-columns:minmax(0,1fr)!important}
.workspace-focus>.tool-rail,.workspace-focus>.inspector{display:none!important}
.workspace-mobile-actions,.workspace-close-panel{display:none}
.rendered-drawings-dialog{width:min(1450px,96vw);max-width:1450px;max-height:94dvh;overflow:auto;padding:24px}
.rendered-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px}
.rendered-drawings-dialog h2{font-family:inherit;font-weight:650}
.rendered-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0;color:var(--muted);font-size:12px}
.rendered-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rendered-gallery figure{margin:0;border:1px solid var(--line-strong);border-radius:10px;overflow:hidden;background:#f7faf7}
.rendered-gallery img{display:block;width:100%;height:auto}
.rendered-gallery figcaption{padding:16px}
.rendered-gallery h3{font-size:16px;margin:0 0 8px}
.rendered-gallery p{font-size:12px;color:var(--muted);line-height:1.5;min-height:36px}
.rendered-gallery button{margin:4px 8px 0 0}
.rendered-gallery .is-enlarged{grid-column:1/-1}
.realistic-render-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.realistic-render-section h3{margin:0 0 8px;font-size:18px}
.realistic-render-section .inspector-footnote{margin:0;text-align:right}
.realistic-render-section .rendered-gallery{margin-top:12px}
.takeoff-highlights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 16px}
.workspace-panel .takeoff-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}
.wall-picker{display:grid;gap:6px;margin:8px 0 16px;font-weight:600}.wall-picker select{width:100%;min-height:40px;max-width:100%}.wall-quick-actions{padding:10px;border:1px solid #b8d5d8;border-radius:8px;margin-bottom:12px}.wall-quick-actions p{font-size:12px;line-height:1.5}.wall-quick-actions button{min-width:44px;min-height:44px;margin:2px}
.takeoff-highlight{display:grid;gap:4px;padding:10px;border:1px solid #c7d8ca;border-radius:8px;background:#f5f9f4}
.takeoff-highlight span{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.takeoff-highlight strong{font-size:14px;color:var(--green-dark);line-height:1.25}
.takeoff-highlight small{font-size:10px;color:var(--muted);line-height:1.35}
.request-audit-section{border-top:3px solid var(--green)}
.request-audit-list{display:grid;gap:8px}
.request-audit-row{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fbfcfa}
.request-audit-status{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-weight:800}
.request-audit-status.is-complete{background:#dcefe0;color:#17633a}
.request-audit-status.is-review{background:#fff0d6;color:#8c5c12}
.request-audit-row-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.request-audit-row-head span{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.request-audit-row small{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.45}
@media(max-width:900px){.takeoff-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1200px){.workspace-ready .workspace{grid-template-columns:190px minmax(0,1fr) 280px}.workspace-ready .brand-lockup{min-width:170px}.workspace-ready .app-name{display:none}.workspace-ready .topbar{padding-inline:14px;gap:12px}.workspace-ready .mode-tab{padding-inline:10px}.workspace-ready .drawing-toolbar{padding-inline:10px}.workspace-ready .icon-action{padding-inline:9px}}
@media(min-width:901px) and (max-width:1100px){.workspace-ready .modebar{overflow-x:auto;scrollbar-width:thin}.workspace-ready .mode-tabs,.workspace-ready .mode-actions,.workspace-ready .level-control{flex:none}.workspace-ready .mode-tab{white-space:nowrap;padding-inline:8px}.workspace-ready .mode-actions{margin-left:10px;padding-left:10px}}
@media(max-width:900px){.workspace-ready .workspace{display:flex;min-height:0}.workspace-ready .design-stage{width:100%;padding:8px 8px 0}.workspace-ready .tool-rail,.workspace-ready .inspector{display:none;position:absolute;top:0;bottom:0;width:min(340px,94%);z-index:10;box-shadow:0 8px 24px #173f4030}.workspace-ready .tool-rail{left:0}.workspace-ready .inspector{right:0}.workspace-ready [data-drawer=left]>.tool-rail,.workspace-ready [data-drawer=right]>.inspector{display:flex}.workspace-mobile-actions{display:flex;flex:none;gap:5px;overflow:auto;padding:6px 10px;background:#fff;border-bottom:1px solid var(--line)}.workspace-mobile-actions button{font-size:11px;flex-shrink:0}.workspace-close-panel{display:block;margin:8px 12px}.workspace-ready .topbar{flex-wrap:wrap;padding:9px 12px;gap:8px}.workspace-ready .brand-lockup{min-width:0;flex:1}.workspace-ready .brand-logo{width:145px;height:34px}.workspace-ready .project-title-wrap{flex-basis:100%;order:3;align-items:flex-start}.workspace-ready .project-title{max-width:none;text-align:left}.workspace-ready .save-state{font-size:9px}.workspace-ready .top-actions .subtle-button:first-child{display:block}.workspace-ready .modebar{overflow:visible;flex-wrap:wrap;padding:0 10px;gap:0}.workspace-ready .mode-tabs{flex-basis:100%;overflow:auto}.workspace-ready .mode-tab{font-size:12px;padding-inline:12px;min-height:42px}.workspace-ready .level-control{margin:0 auto 0 0;padding:5px 0;border:0}.workspace-ready .modebar>.workspace-menu{margin-block:5px}.workspace-ready .drawing-toolbar{gap:8px;flex-wrap:wrap;padding:6px 10px}.workspace-ready .drawing-presets{width:100%;flex:none}.workspace-ready .mode-actions{width:100%;justify-content:flex-end}.rendered-gallery{grid-template-columns:1fr}.rendered-gallery p{min-height:0}.workspace-ready .workspace-focus>.tool-rail,.workspace-ready .workspace-focus>.inspector{display:none}}
@media(max-width:700px){.example-prompt{align-items:flex-start;flex-direction:column}.example-prompt-actions{width:100%;justify-content:flex-start}}
@media(max-width:480px){.workspace-ready .brand-lockup{flex-basis:100%}.workspace-ready .top-actions{width:100%;justify-content:space-between}.workspace-ready .top-actions button,.workspace-ready .top-actions summary{min-height:34px;padding-inline:10px}.workspace-ready .mode-tab{padding-inline:9px;font-size:11px}.workspace-ready .project-title-wrap{display:none}.workspace-ready .mode-icon{display:none}.workspace-ready .workspace-menu-body{max-width:calc(100vw - 24px)}.workspace-ready .stage-footer{font-size:9px}.rendered-drawings-dialog{padding:16px}}
@media(max-width:900px){.workspace-ready .drawing-presets{flex-wrap:wrap;overflow:visible}}
@media(max-width:900px){.workspace-ready .plan-clarity{order:3;width:100%;justify-content:space-between}.workspace-ready .plan-clarity-hint{margin-left:auto}.workspace-ready .drawing-toolbar{align-items:stretch}}
@media(max-width:560px){.workspace-ready .plan-clarity-hint{display:none}.workspace-ready .plan-clarity{justify-content:flex-start}.workspace-ready .plan-clarity-title{font-size:9px}}
/* Independent entered stock plans; all forms remain usable in narrow dialogs. */
.stock-plan-dialog { width:min(1160px,calc(100vw - 28px)); max-width:1160px; max-height:90vh; box-sizing:border-box; overflow:auto; }
.stock-plan-dialog * { box-sizing:border-box; min-width:0; }
.stock-plan-dialog .section-row { flex-wrap:wrap; }
.stock-plan-dialog h3 { margin:20px 0 10px; }
.stock-plan-dialog button { padding:9px 12px; border:1px solid #bfd0d3; border-radius:7px; background:#f5f9f9; color:#183b44; cursor:pointer; white-space:normal; }
.stock-plan-dialog label { display:grid; gap:5px; font-size:13px; font-weight:600; }
.stock-plan-dialog input,.stock-plan-dialog select { width:100%; padding:8px; border:1px solid #b7c8ce; border-radius:6px; background:white; }
.stock-plan-actions { display:flex; align-items:end; gap:10px; flex-wrap:wrap; }
.stock-plan-actions label { flex:1 1 220px; }
.stock-plan-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; }
.stock-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.stock-plan-dialog fieldset { margin:14px 0; padding:12px; border:1px solid #cddadb; border-radius:8px; }
.stock-plan-dialog fieldset button { margin-top:10px; }
.stock-plan-dialog p,.stock-plan-dialog li,.stock-plan-dialog td { overflow-wrap:anywhere; }
.stock-results { background:#f2f7f6; padding:0 18px 18px; border-radius:10px; }
.stock-bar { margin:18px 0; }
.stock-bar svg { display:block; width:100%; height:26px; margin:7px 0; border-radius:3px; }
.stock-bar strong,.stock-bar small { display:block; overflow-wrap:anywhere; }
.stock-table-wrap { overflow:auto; }
.stock-table-wrap table { width:100%; border-collapse:collapse; font-size:13px; }
.stock-table-wrap th,.stock-table-wrap td { text-align:left; padding:7px; border-bottom:1px solid #cedcdb; }
#stockPlanError { color:#9b263c; font-weight:600; }
.stock-guidance { margin-top:24px; }
@media(max-width:700px) { .stock-plan-grid { grid-template-columns:minmax(0,1fr); } .stock-plan-dialog { padding:16px; } .stock-fields { grid-template-columns:minmax(0,1fr); } }
/* Sourced materials and wall assemblies */
.material-pricing-dialog{width:min(1000px,94vw);max-height:90vh;overflow:auto;border:1px solid #b7c8bd;border-radius:12px;padding:24px;color:#173b2b;background:#fff}.material-pricing-dialog::backdrop{background:#15332699}.material-pricing-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px}.material-pricing-dialog input,.wall-assembly select{width:100%;min-height:42px;padding:8px;border:1px solid #bdccc2;border-radius:5px}.material-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.material-line{border-top:1px solid #dbe5de;padding:12px 0}.material-line summary{display:flex;justify-content:space-between;gap:20px;cursor:pointer;min-height:34px;align-items:center}.material-line p{margin:8px 0;line-height:1.5}.material-line input{display:block;max-width:260px}.material-line a{color:#08667d;overflow-wrap:anywhere}.wall-assembly{border-top:2px solid #dbe5de;margin-top:20px;padding-top:12px}.wall-assembly .inspector-field{margin:12px 0}.material-pricing-dialog .readout strong{font-size:25px}@media(max-width:700px){.material-pricing-dialog{padding:16px}.material-line summary{align-items:flex-start;font-size:14px}}

/* Shared review panels keep long specifications within the viewport. */
.material-pricing-dialog{box-sizing:border-box;max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);overscroll-behavior:contain;scrollbar-gutter:stable}
.material-pricing-dialog *,.wall-assembly *{box-sizing:border-box;min-width:0}
.material-pricing-dialog h2{margin:0;font-size:22px}
.material-pricing-dialog>header{position:sticky;top:-24px;background:#fff;z-index:1;padding-block:12px;border-bottom:1px solid var(--line)}
.material-pricing-dialog>header button{flex:none}
.material-pricing-dialog button{min-height:42px;padding:9px 12px;border:1px solid var(--line-strong);border-radius:6px;background:var(--green-soft);color:var(--ink);font:inherit;cursor:pointer;white-space:normal}
.material-pricing-dialog button:focus-visible,.material-pricing-dialog summary:focus-visible,.walkthrough-controls button:focus-visible{outline:3px solid #08798d;outline-offset:2px}
.material-pricing-dialog label{display:grid;gap:6px;margin-block:12px;font-size:13px;font-weight:600}
.material-pricing-dialog select{width:100%;min-height:42px;padding:8px;border:1px solid #bdccc2;border-radius:5px;background:#fff;color:var(--ink)}
.material-pricing-dialog p,.material-pricing-dialog summary,.material-pricing-dialog small{overflow-wrap:anywhere;line-height:1.5}
.material-pricing-dialog>section,.material-pricing-dialog>details{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}
.material-pricing-dialog details>summary{cursor:pointer;padding-block:8px;font-weight:650}
.material-line summary>span{flex:none;white-space:nowrap}
.material-line summary::before{content:'+';flex:none;color:#08798d;font-weight:700}
.material-line[open] summary::before{content:'−'}
.material-line summary>strong{flex:1}
.wall-assembly select{background:#fff;color:var(--ink);font:inherit}
.wall-assembly button{width:100%;white-space:normal}
@media(max-width:700px){.material-pricing-dialog>header{top:-16px}.material-line summary{flex-wrap:wrap;gap:4px}.material-actions>button{flex:1 1 180px}}
/* Perspective navigation */
.canvas-shell.walk-docked{display:grid;grid-template-rows:minmax(0,1fr) auto;container-type:inline-size}.walk-docked>#designCanvas{grid-row:1;min-width:0;min-height:0;width:100%;height:100%}
.walkthrough-controls{grid-row:2;position:relative;z-index:8;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:5px 14px;padding:10px 12px;border-top:1px solid #bdccc2;background:#f7faf7;color:#173b2b;font-size:12px}
.walkthrough-controls[hidden],.walkthrough-controls [hidden]{display:none!important}
.walk-toolbar{grid-column:1;display:flex;align-items:flex-start;align-self:end;gap:8px;flex-wrap:wrap;max-width:100%}
.walkthrough-controls button,.walk-menu>summary,.walkthrough-controls select{font:inherit;min-height:38px;padding:7px 10px;border:1px solid #bdccc2;border-radius:5px;background:#fff;color:#173b2b;cursor:pointer}
.walkthrough-controls button:hover,.walk-menu>summary:hover{background:#edf5ef}
.walk-modes{display:flex;gap:2px;padding:2px;background:#e8eee9;border-radius:7px}.walk-modes button{border-color:transparent;background:transparent;min-height:34px}.walk-modes [aria-pressed=true]{background:#205e43;color:white;border-color:#205e43}
.walkthrough-controls [data-walk-fullscreen]{font-weight:700}.walkthrough-controls small{grid-column:1;align-self:start;display:block;max-width:100%;font-size:11px;color:#4a6857}
.walk-menu{position:relative}.walk-menu>summary{list-style:none;display:flex;align-items:center;gap:8px}.walk-menu>summary::after{content:'▾'}.walk-menu>div{min-width:140px;display:grid;padding:4px 0;gap:3px}.walk-menu:not([open])>div{display:none}.walk-menu button{text-align:left;border:0}
.walk-pad{grid-column:2;grid-row:1 / span 2;padding-left:14px;border-left:1px solid #d4e0d8}
.walk-pad-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px;font-size:11px}.walk-pad-heading label{display:flex;gap:6px;align-items:center}.walk-pad-heading select{min-height:30px;padding:3px 6px}
.walk-pad-groups{display:flex;gap:14px}.walk-direction-pad,.walk-look-pad{display:grid;grid-template-columns:repeat(4,48px);gap:4px}.walk-direction-pad [data-walk-step=left]{order:1}.walk-direction-pad [data-walk-step=forward]{order:2}.walk-direction-pad [data-walk-step=back]{order:3}.walk-direction-pad [data-walk-step=right]{order:4}
.walkthrough-controls [data-walk-step]{display:flex;min-height:46px;align-items:center;justify-content:center;flex-direction:column;gap:2px;padding:4px;font-size:16px;touch-action:none;user-select:none}.walkthrough-controls [data-walk-step] span{font-size:10px;white-space:nowrap}.walkthrough-controls [data-walk-step]:active{background:#dceee2;border-color:#43875d}
.walk-docked .workspace-zoom{display:none}.canvas-shell:fullscreen,.canvas-shell.walk-expanded{width:100vw!important;height:100vh!important;max-width:none;max-height:none;border:0!important;border-radius:0!important;background:#f4f8f4}.canvas-shell.walk-expanded{position:fixed!important;inset:0;z-index:10000}
@container(max-width:850px){.walkthrough-controls{display:block;padding:8px}.walk-toolbar{gap:4px}.walkthrough-controls button,.walk-menu>summary{padding-inline:7px;font-size:11px}.walkthrough-controls small{margin-top:5px;font-size:10px}.walk-pad{width:fit-content;border:0;padding:8px 0 0;margin:auto}.walk-pad-groups{gap:12px}.walk-direction-pad,.walk-look-pad{grid-template-columns:repeat(2,56px)}.walk-pad-heading{gap:10px}}

.item-edit-controls select{width:100%;min-height:36px;max-width:100%;padding:6px;border:1px solid #aec3b7;border-radius:5px;background:#fff;color:#183d2b}.item-edit-controls button[data-item-cycle],.item-edit-controls button[data-item-host]{margin-top:8px;min-height:36px;padding:6px 10px;border:1px solid #aec3b7;border-radius:5px;background:#fff;color:#183d2b;cursor:pointer}

.finish-library{margin:12px 0;padding:12px;border:1px solid #d7dfd9;border-radius:10px}.finish-library summary{font-weight:650;cursor:pointer}.finish-library label,.finish-library button{display:block;width:100%;margin:10px 0}.finish-reference{padding:12px;border:1px solid #d7dfd9;border-radius:8px;margin:12px 0;line-height:1.5}.finish-reference small{display:block;color:#52635a}.finish-swatch{display:flex;align-items:center;gap:10px;margin:10px 0}.finish-swatch>span{display:block;flex:0 0 48px;height:48px;border:1px solid #a4aca6;border-radius:8px;background:var(--finish-colour)}.finish-reference a{color:#17634c;text-decoration:underline}
