.kai-workbench { --line:var(--rule); --muted:var(--graphite); --accent:var(--oxide); font-family:ui-sans-serif,system-ui,sans-serif; background:var(--paper); color:var(--ink); }
.workbench-header { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:23px 30px 20px; border-bottom:1px solid var(--line); }
.back,.eyebrow,.downloads>span,.model-summary span { font:10px 'JetBrains Mono',ui-monospace,monospace; letter-spacing:.09em; color:var(--muted); }
.back { text-decoration:none; color:var(--oxide); }
.workbench-header h1 { font-size:25px; letter-spacing:-.025em; margin:7px 0 2px; font-weight:550; }
.workbench-header p { margin:0; color:var(--muted); font-size:12px; }
.header-status { font-size:12px; padding-left:18px; border-left:1px solid var(--line); }
.header-status strong { font-weight:500; color:var(--accent); }.header-status small { display:block; margin-top:4px; color:var(--muted); }
.status-mark { display:inline-block; width:6px; height:6px; background:var(--accent); border-radius:50%; margin-right:8px; }
.workbench-layout { display:grid; grid-template-columns:minmax(0,1fr) 390px; height:calc(100dvh - 115px); min-height:650px; }
.model-panel { display:flex; flex-direction:column; min-width:0; position:relative; overflow:hidden; }
.model-toolbar { display:flex; align-items:end; gap:14px; padding:16px 22px; position:relative; z-index:1; border-bottom:1px solid var(--line); }
button,select,input { font:inherit; }button,select { color:inherit; background:var(--linen); border:1px solid var(--line); border-radius:4px; font-size:12px; padding:7px 10px; }
button { cursor:pointer; transition:background .15s; }button:hover { background:var(--pressed); }button:active { transform:translateY(1px); }button:focus-visible,select:focus-visible,summary:focus-visible { outline:2px solid var(--oxide); outline-offset:2px; }
button[aria-pressed=true] { color:var(--accent); border-color:#76643e; background:var(--pressed); }
label { font-size:11px; color:var(--muted); }label>select { display:block; margin-top:5px; min-width:150px; }
.view-buttons { display:flex; gap:3px; }.check-label { display:flex; gap:5px; align-items:center; padding-bottom:6px; }input[type=checkbox] { accent-color:var(--oxide); }
#app { flex:1; min-height:350px; position:relative; height:auto; }#app canvas { max-width:100%; }
#loading { position:absolute; inset:0; display:grid; place-items:center; font-size:13px; color:var(--muted); }
.scene-note { position:absolute; top:100px; left:24px; right:24px; pointer-events:none; font-size:11px; color:var(--muted); }
.section-control { display:flex; gap:15px; align-items:center; padding:9px 24px; border-top:1px solid var(--line); background:var(--linen); }.section-control label { white-space:nowrap; }.section-control input[type=range] { flex:1; min-width:0; accent-color:var(--oxide); }.section-control output { font:11px 'JetBrains Mono',ui-monospace,monospace; min-width:62px; }
.model-summary { display:flex; gap:45px; padding:15px 24px; border-top:1px solid var(--line); }.model-summary span { display:block; font-size:9px; }.model-summary strong { display:block; font:20px 'JetBrains Mono',ui-monospace,monospace; margin-top:5px; font-weight:400; }
.navigation-hint { padding:0 24px 14px; font-size:10px; color:var(--graphite); }
.inspector { overflow:auto; border-left:1px solid var(--line); background:var(--linen); }.inspector-tabs { display:flex; position:sticky; top:0; z-index:2; background:var(--linen); padding:16px 20px 12px; border-bottom:1px solid var(--line); gap:6px; }.inspector-tabs button { flex:1; }
.tab-panel { padding:20px; }.tab-panel[hidden] { display:none; }.field-label>select { width:100%; }.component-heading { margin-top:22px; }.component-heading h2 { margin:3px 0 8px; font-size:20px; font-weight:550; letter-spacing:-.02em; }.fidelity { display:inline-block; color:var(--accent); font-size:11px; border-bottom:1px solid #75623f; }.element-notes { font-size:12px; line-height:1.7; color:var(--muted); }
.parameter-list { margin:16px 0 24px; }.parameter-row { display:flex; justify-content:space-between; gap:14px; padding:7px 0; border-bottom:1px solid var(--rule); font-size:11px; }.parameter-row span { color:var(--muted); }.parameter-row strong { text-align:right; font:11px 'JetBrains Mono',ui-monospace,monospace; font-weight:400; white-space:nowrap; }
h2 { font-size:20px; font-weight:550; margin:0 0 10px; }h3 { font-size:13px; font-weight:550; margin:18px 0 12px; }.source-heading select { width:100%; margin-bottom:10px; }.source-crop { display:block; width:100%; position:relative; padding:0; border:1px solid var(--rule); border-radius:2px; background:#e9e5dc; overflow:hidden; }.source-crop canvas { width:100%; display:block; min-height:90px; object-fit:contain; }#sheet-badge { position:absolute; bottom:5px; right:5px; background:#17202a; color:var(--ink); padding:3px 7px; font:10px 'JetBrains Mono',ui-monospace,monospace; }
.source-caption { font:10px 'JetBrains Mono',ui-monospace,monospace; color:var(--muted); margin:9px 0; }.transcription { padding-left:12px; border-left:2px solid #7b6946; font-size:12px; line-height:1.75; }.source-register { border-top:1px solid var(--line); margin-top:22px; padding-top:15px; font-size:12px; }.source-register summary { cursor:pointer; color:var(--muted); }.sheet-link { width:100%; display:flex; gap:9px; text-align:left; margin-top:8px; font-size:11px; }.sheet-link small { color:var(--accent); white-space:nowrap; }
.downloads { border-top:1px solid var(--line); padding:20px; display:flex; flex-wrap:wrap; gap:8px 15px; }.downloads>span { width:100%; margin-bottom:4px; }.downloads a { font-size:11px; color:var(--oxide); text-decoration:none; }.downloads a:hover { text-decoration:underline; }
.subtle { color:var(--muted); font-size:12px; line-height:1.7; }.check-totals { display:flex; gap:20px; border-block:1px solid var(--line); padding:12px 0; margin:15px 0; font:12px 'JetBrains Mono',ui-monospace,monospace; }.check-totals .conflict { color:var(--accent); }.check-row { border-bottom:1px solid var(--line); padding:12px 0; }.check-row button { width:100%; background:transparent; border:0; padding:0; text-align:left; font-size:12px; }.check-row p { font:10px 'JetBrains Mono',ui-monospace,monospace; color:var(--muted); margin:6px 0 0; }.check-row .conflict { color:var(--accent); }.check-row .pass { color:#a5b9b3; }.omission-row { padding:10px 0; border-bottom:1px solid var(--line); }.omission-row button { padding:0; border:0; background:transparent; text-align:left; }.omission-row p { margin:5px 0; color:var(--muted); font-size:11px; }
.inventory-row { width:100%; display:grid; grid-template-columns:1fr auto; gap:3px 10px; background:transparent; border:0; border-bottom:1px solid var(--line); border-radius:0; padding:10px 0; text-align:left; }.inventory-row strong { font-size:12px; font-weight:500; }.inventory-row small { grid-column:1 / -1; font-size:10px; color:var(--muted); }.inventory-row span { font:11px 'JetBrains Mono',ui-monospace,monospace; }
dialog { width:min(1500px,95vw); max-height:94dvh; padding:18px; color:var(--ink); background:var(--linen); border:1px solid var(--rule); border-radius:5px; }dialog::backdrop { background:rgb(0 0 0 / 75%); }.dialog-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:14px; }.dialog-toolbar h2 { font-size:16px; margin:0; }.full-sheet { position:relative; }.full-sheet img { display:block; width:100%; }.full-sheet svg { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }#dialog-caption { font-size:12px; color:var(--muted); }
@media(max-width:1100px) { .workbench-layout { grid-template-columns:minmax(0,1fr) 340px; }.model-toolbar { flex-wrap:wrap; padding:12px; gap:8px; }.model-summary { gap:22px; }.scene-note { top:135px; font-size:10px; }.header-status { max-width:230px; } }
@media(max-width:760px) { .workbench-header { padding:18px; display:block; }.header-status { margin-top:15px; border-left:0; padding:0; max-width:none; }.workbench-layout { display:block; height:auto; min-height:0; }.model-panel { height:650px; }.inspector { border-left:0; border-top:1px solid var(--line); overflow:visible; }.workbench-header h1 { font-size:23px; }.scene-note { top:125px; }.model-summary { justify-content:space-between; gap:12px; padding:14px 18px; }.model-summary strong { font-size:17px; }.model-summary span { font-size:8px; }.inspector-tabs { top:0; }.section-control { padding-inline:18px; } }
@media(prefers-reduced-motion:reduce) { button { transition:none; } }

.check-evidence { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.check-evidence button { font-size: 11px; padding: 4px 7px; }
.check-row > button.unresolved { color: var(--muted, var(--graphite)); }

/* Engineering workspace: compact panes, fixed command surfaces, tabular values. */
.kai-workbench { --line:var(--rule); --muted:var(--graphite); --accent:var(--oxide); background:var(--paper); color:var(--ink); font-size:12px; line-height:1.45; font-variant-numeric:tabular-nums; }
.workbench-header { height:66px; padding:0 18px; background:var(--linen); gap:16px; }
.project-identity { display:flex; gap:18px; align-items:center; min-width:0; }
.back { color:var(--graphite); font-size:10px; font-weight:600; white-space:nowrap; letter-spacing:.08em; }
.header-divider { height:28px; width:1px; background:var(--line); }
.workbench-header h1 { font-size:15px; margin:0 0 3px; font-weight:600; letter-spacing:0; }
.project-code { font:10px 'JetBrains Mono',ui-monospace,monospace; margin-left:8px; color:var(--muted); border:1px solid var(--rule); padding:2px 5px; }
.workbench-header p { font-size:10px; }.header-status { padding-left:16px; font-size:11px; }.header-status strong { color:var(--oxide); }.header-status small { font-size:10px; }.status-mark { background:var(--oxide); width:5px;height:5px; }
.workbench-layout { grid-template-columns:218px minmax(0,1fr) 342px; height:calc(100dvh - 94px); min-height:0; }
.model-browser { display:flex; flex-direction:column; min-height:0; border-right:1px solid var(--line); background:var(--linen); }
.browser-title { height:36px; display:flex; justify-content:space-between; align-items:center; padding:0 12px; border-bottom:1px solid var(--line); font-size:10px; font-weight:600; letter-spacing:.06em; }
.browser-title span { font:10px 'JetBrains Mono',ui-monospace,monospace; color:var(--muted); }.tree-search-label { font-size:10px; padding:12px 12px 5px; }
#tree-search { margin:0 10px 12px; padding:7px 8px; min-width:0; border:1px solid var(--rule); border-radius:3px; color:inherit; background:var(--linen); font-size:11px; }
#model-tree { overflow:auto; flex:1; padding:0 4px; }#model-tree summary { display:flex; align-items:center; justify-content:space-between; cursor:pointer; font-size:11px; font-weight:600; padding:9px 8px; border-top:1px solid var(--rule); }#model-tree summary small { color:var(--muted); font:10px 'JetBrains Mono',ui-monospace,monospace; }#model-tree summary span::before { content:'›'; display:inline-block; width:14px; color:var(--muted); }#model-tree details[open]>summary span::before { content:'⌄'; }
.tree-element { display:flex; gap:8px; align-items:center; width:100%; border:0; background:transparent; text-align:left; border-radius:2px; padding:7px 8px 7px 21px; font-size:11px; color:var(--graphite); }.tree-element span:last-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.tree-element[aria-current=true] { color:var(--ink); background:var(--pressed); box-shadow:inset 2px 0 var(--oxide); }.tree-state { flex:none; width:7px; height:7px; border:1px solid #a0aeb9; }.tree-state.nominal-solid { background:#a0aeb9; }.tree-state.unresolved { border-style:dashed; border-color:var(--oxide); border-radius:50%; }.tree-legend { padding:12px 8px; border-top:1px solid var(--line); display:flex; gap:10px; font-size:9px; color:var(--muted); }
.viewport-title { display:flex; justify-content:space-between; padding:10px 14px; height:36px; border-bottom:1px solid var(--line); background:var(--linen); font:9px 'JetBrains Mono',ui-monospace,monospace; letter-spacing:.03em; color:var(--graphite); }.viewport-title span:last-child { color:var(--graphite); }
.model-toolbar { padding:8px 12px; gap:8px; align-items:center; background:var(--linen); flex-wrap:wrap; }.model-toolbar label { font-size:10px; }.model-toolbar label>select { display:inline-block; margin:0 0 0 6px; min-width:100px; max-width:145px; }.model-toolbar .check-label { padding:0; }
button,select { border-radius:3px; background:var(--linen); border-color:var(--rule); font-size:11px; padding:5px 8px; }button:hover { background:var(--pressed); }button[aria-pressed=true] { color:var(--ink); border-color:#698894; background:var(--pressed); }
input[type=checkbox],.section-control input[type=range] { accent-color:var(--oxide); }
#app { min-height:220px; }.scene-note { top:108px; left:14px; right:14px; color:var(--graphite); font-size:10px; }
.section-control { background:var(--linen); padding:8px 12px; gap:10px; }.section-control label { font-size:10px; }.model-summary { background:var(--linen); gap:0; padding:10px 0; }.model-summary>div { flex:1; padding:0 14px; border-right:1px solid var(--line); }.model-summary>div:last-child { border:0; }.model-summary span { font-size:8px; letter-spacing:.045em; }.model-summary strong { font-size:13px; margin-top:3px; }.navigation-hint { padding:7px 12px; background:var(--linen); font-size:9px; color:var(--graphite); display:flex; justify-content:space-between; gap:8px; }
.inspector { background:var(--paper); }.inspector-tabs { height:36px; padding:0; gap:0; background:var(--linen); }.inspector-tabs button { border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; font-size:11px; padding:8px; }.inspector-tabs button[aria-pressed=true] { border-bottom-color:var(--oxide); color:var(--ink); background:var(--pressed); }
.tab-panel { padding:14px; }.component-heading { margin-top:16px; }.component-heading h2 { font-size:16px; margin:4px 0 6px; }.eyebrow { font-size:9px; }.fidelity { font-size:10px; color:var(--oxide); border:0; }.element-notes { font-size:11px; line-height:1.55; margin:10px 0; }.parameter-list { margin:12px 0 18px; }.parameter-row { padding:6px 7px; border-color:var(--rule); font-size:10px; }.parameter-row:nth-child(odd) { background:var(--linen); }.parameter-row strong { font-size:10px; }h2 { font-size:16px; }h3 { font-size:11px; font-weight:600; margin:16px 0 9px; }.source-caption { font-size:9px; }.transcription { font-size:11px; line-height:1.6; border-color:var(--oxide); }.subtle { font-size:11px; line-height:1.5; }.check-totals { gap:12px; font-size:11px; }.check-row { padding:9px 0; }.check-row button { font-size:11px; }.check-row .conflict,.check-totals .conflict { color:var(--oxide); }.check-row .pass { color:var(--graphite); }.check-evidence { gap:4px; }.check-evidence button { border:1px solid var(--rule); padding:3px 5px; font-size:9px; }.inventory-row strong { font-size:11px; }.inventory-row { padding:8px 0; }
.panel-library { padding:0 14px 14px; border-top:1px solid var(--line); }.downloads { padding:14px; gap:7px 12px; }.downloads a { color:var(--oxide); font-size:10px; }
.engineering-status { height:28px; margin:0; padding:0 12px; background:var(--linen); border-top:1px solid var(--rule); color:var(--graphite); display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:9px; }.status-dot { display:inline-block; width:5px; height:5px; background:var(--oxide); border-radius:50%; margin-right:6px; }#validation-status { color:var(--oxide); }
dialog { background:var(--paper); color:var(--ink); border-color:var(--rule); border-radius:4px; }#panel-dialog { width:min(860px,95vw); }#panel-canvas { margin-top:12px; }#panel-dimensions { font:11px/1.7 'JetBrains Mono',ui-monospace,monospace; }#panel-limitations,#panel-error { font-size:11px; color:var(--muted); }#panel-obj { color:var(--oxide); margin-left:12px; }
@media(min-width:1600px) { .workbench-layout { grid-template-columns:242px minmax(0,1fr) 370px; } }
@media(max-width:1200px) { .workbench-layout { grid-template-columns:188px minmax(0,1fr) 310px; }.navigation-hint span { display:none; }.scene-note { top:135px; }.viewport-title span:last-child { display:none; } }
@media(max-width:1000px) { .model-browser { display:none; }.workbench-layout { grid-template-columns:minmax(0,1fr) 320px; }.project-identity .back,.header-divider { display:none; }.engineering-status>span:last-child { display:none; } }
@media(max-width:760px) { .workbench-header { height:76px; display:flex; padding:12px; }.workbench-header h1 { font-size:14px; }.project-code { display:none; }.workbench-header p { font-size:9px; }.header-status { margin:0; padding-left:10px; border-left:1px solid var(--line); max-width:140px; }.header-status small { font-size:9px; }.workbench-layout { display:block; height:auto; }.model-panel { height:530px; }.inspector { overflow:visible; }.inspector-tabs { position:sticky; top:0; }.model-summary strong { font-size:13px; }.scene-note { top:122px; }.engineering-status { height:auto; min-height:28px; flex-wrap:wrap; padding:7px 12px; }.tab-panel { padding:16px; } }

#inventory-comparison { padding-bottom:16px; border-bottom:1px solid var(--line); font-size:11px; line-height:1.5; }
#inventory-comparison a { color:var(--oxide); }
#inventory-comparison label { display:block; margin-top:14px; }
#inventory-comparison select { display:block; width:100%; margin-top:5px; }
.comparison-row { padding:12px 0; border-bottom:1px solid var(--line); }
.comparison-row strong { display:block; }
.comparison-row p { margin:5px 0; }
.comparison-row small { display:block; color:var(--muted); }
.comparison-row button { margin-top:8px; }
