/* Model-first shell. Geometry, source coordinates and project access are unchanged. */
.model-first {
  --shell-bg: #09151e;
  --shell-panel: #10222e;
  --shell-line: #2c4350;
  --shell-muted: #aec2cd;
  --shell-hover: #1b3545;
  --shell-ink: #e7f2f7;
  background: var(--shell-bg);
}
.model-first main { max-width:none; width:100%; padding:0 16px 16px; }
.model-first .site-header { min-height:60px; padding:6px 18px; border-bottom:1px solid #203541; background:var(--shell-bg); gap:16px; }
.model-first .brand { gap:9px; min-width:0; }
.model-first .brand img { width:36px; height:36px; object-fit:contain; }
.model-first .brand strong { font-size:15px; letter-spacing:.08em; }
.model-first .brand small { font-size:8px; letter-spacing:.09em; }
.model-first .header-actions { gap:9px; }
.model-first .powered { gap:8px; }
.model-first .powered span { font-size:9px; }
.model-first .powered img { width:74px; height:28px; object-fit:contain; }
.model-first #access-state { font-size:11px; }
.model-first[data-project-open="true"] .header-actions > .help-button { display:none; }
.model-first .header-actions > button { background:transparent; border-color:transparent; padding:7px 10px; }
.model-first .project-heading { display:flex; justify-content:space-between; align-items:center; min-height:64px; padding:8px 2px; gap:14px; }
.model-first .project-heading > div:first-child { min-width:0; }
.model-first .project-heading .eyebrow { font-size:9px; margin:0 0 1px; letter-spacing:.12em; color:#9db4c2; }
.model-first .project-heading h1 { font-size:19px; line-height:1.35; margin:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.model-first .project-context { display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.model-first .revision-label { font-size:10px; color:var(--shell-muted); border:0; background:transparent; padding:0; }
.model-first .frame-status { font-size:11px; min-height:44px; padding:6px 11px; border-color:#5c513e; background:#29271f; color:#e6ce9e; border-radius:7px; }
.model-first .visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip-path:inset(50%)!important; white-space:nowrap!important; border:0!important; }
.model-first #workspace-frame {
  display:flex; flex-direction:column; position:relative;
  height:max(420px,calc(var(--app-viewport-height,100dvh) - 146px));
  min-height:0; min-width:0; max-width:100%; padding:0;
  border:1px solid var(--shell-line); border-radius:12px; overflow:hidden;
  background:var(--shell-panel); box-shadow:0 14px 40px #0002;
}
.model-first #workspace-frame > .viewer-toolbar { display:flex; flex-wrap:nowrap; align-items:center; justify-content:space-between; gap:10px; flex:0 0 auto; padding:7px 9px; min-height:58px; z-index:20; background:var(--shell-panel); border-bottom:1px solid var(--shell-line); }
.model-first #workspace-frame .toolbar-main { display:flex; flex-wrap:nowrap; align-items:center; gap:5px; min-width:0; }
.model-first #workspace-frame .viewer-actions { display:flex; flex-wrap:nowrap; align-items:center; justify-content:flex-end; gap:5px; width:auto; flex:0 0 auto; margin:0; }
.model-first #workspace-frame .viewer-toolbar button,
.model-first #workspace-frame .workspace-popover > summary { min-height:44px; min-width:44px; border:1px solid transparent; border-radius:7px; background:transparent; color:var(--shell-ink); padding:8px 11px; font-family:inherit; font-size:12px; font-weight:600; line-height:1.3; white-space:nowrap; }
.model-first #workspace-frame .viewer-toolbar button { font-size:12px; }
.model-first #workspace-frame .viewer-toolbar button:hover:not(:disabled),
.model-first #workspace-frame .workspace-popover > summary:hover { background:var(--shell-hover); border-color:var(--shell-line); }
.model-first #workspace-frame .viewer-toolbar button[aria-expanded="true"],
.model-first #workspace-frame .workspace-popover[open] > summary { border-color:#56869d; background:#1a3b4b; color:#eafaff; }
.model-first #workspace-frame #cad-open { background:#7bd5e6; border-color:#7bd5e6; color:#082433; margin-left:3px; }
.model-first #workspace-frame #cad-open:hover:not(:disabled),
.model-first #workspace-frame #cad-open[aria-expanded="true"] { background:#a1e9f1; border-color:#a1e9f1; color:#082433; }
.model-first #workspace-frame #layers-toggle { margin:0; padding-inline:10px; font-variant-numeric:tabular-nums; }
.model-first #workspace-frame #fullscreen-toggle { min-width:44px; }
.model-first #workspace-frame .help-button { display:inline-flex; align-items:center; justify-content:center; gap:5px; }
.model-first #workspace-frame .help-button span { font-size:17px; }
.model-first #workspace-frame .workspace-popover { position:relative; margin:0; padding:0; min-width:0; flex:0 0 auto; border:0; }
.model-first #workspace-frame .workspace-popover > summary { list-style:none; display:flex; align-items:center; justify-content:center; gap:7px; cursor:pointer; }
.model-first #workspace-frame .workspace-popover > summary::-webkit-details-marker { display:none; }
.model-first #workspace-frame .workspace-popover > summary::marker { content:''; }
.model-first #workspace-frame .view-settings-panel,
.model-first #workspace-frame .workspace-actions-panel { position:absolute; top:calc(100% + 8px); bottom:auto; right:0; left:auto; z-index:30; width:min(340px,calc(100vw - 36px)); max-height:min(600px,calc(var(--app-viewport-height,100dvh) - 230px)); overflow:auto; overscroll-behavior:contain; background:var(--shell-panel); border:1px solid #557182; border-radius:10px; padding:12px 14px; color:var(--shell-ink); box-shadow:0 18px 50px #0007; }
.model-first #workspace-frame .workspace-actions-panel { width:272px; }
.model-first #workspace-frame .workspace-actions-panel > button { display:block; width:100%; text-align:left; padding:10px; margin:3px 0; white-space:normal; }
.model-first #workspace-frame .workspace-actions-panel .group-heading,
.model-first #workspace-frame .view-settings-panel .group-heading { margin:0 0 8px; padding:0 0 5px; border-bottom:1px solid var(--shell-line); }
.model-first #workspace-frame .group-heading h3 { font-size:14px; }
.model-first #workspace-frame .view-settings-panel label { font-size:12px; }
.model-first #workspace-frame .view-settings-panel .small { font-size:11px; line-height:1.55; margin:5px 0 10px; color:var(--shell-muted); }
.model-first #workspace-frame .view-settings-panel .view-picker { display:grid; grid-template-columns:57px minmax(0,1fr); gap:8px; max-width:none; margin:8px 0; }
.model-first #workspace-frame .view-settings-panel .layer-picker { display:grid; grid-template-columns:57px minmax(0,1fr) 44px; gap:5px; margin:8px 0; }
.model-first #workspace-frame .view-settings-panel .view-picker label,
.model-first #workspace-frame .view-settings-panel .layer-picker label { display:block; }
.model-first #workspace-frame .view-settings-panel select { width:100%; min-width:0; max-width:none; padding:8px; font-size:13px; }
.model-first #workspace-frame .view-settings-panel input[type="range"] { padding:0; width:100%; min-height:44px; }
.model-first #workspace-frame .view-settings-panel input[type="text"] { font-size:14px; }
.model-first #workspace-frame .saved-view-controls { border-top:1px solid var(--shell-line); margin:8px 0 0; }
.model-first #workspace-frame .saved-view-controls > summary { padding:10px 0; min-height:44px; font-size:12px; }
.model-first #workspace-frame .view-recovery { margin-top:12px; padding-top:8px; border-top:1px solid var(--shell-line); }
.model-first #workspace-frame #overview-reset { width:100%; border:1px solid var(--shell-line); text-align:left; font-size:12px; }
.model-first #workspace-frame .inspection-details { margin:8px 0 0; padding:0; border-top:1px solid var(--shell-line); background:transparent; }
.model-first #workspace-frame .inspection-details > summary { min-height:44px; padding:10px 0; font-size:12px; }
.model-first #workspace-frame .inspection-content { max-height:none; padding:0; overflow:visible; }
.model-first #workspace-frame .inspection-content .source-fields { grid-template-columns:1fr; gap:4px; }
.model-first #workspace-frame .inspection-content .source-fields dd { margin:0 0 9px; }
.model-first #workspace-frame .inspection-actions { gap:5px; }
.model-first #workspace-frame .inspection-actions .check-label { font-size:12px; min-height:44px; }
.model-first #workspace-frame .model-statusbar { display:flex; flex-wrap:nowrap; align-items:center; justify-content:space-between; gap:10px; flex:0 0 auto; min-height:40px; padding:4px 13px; background:#0e202b; border-top:1px solid var(--shell-line); }
.model-first #workspace-frame .model-statusbar .active-source { display:flex; align-items:center; gap:10px; min-width:0; flex:1 1 auto; margin:0; }
.model-first #workspace-frame .active-scan-label { font-size:12px; font-weight:600; color:#d2e5ee; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; max-width:45vw; }
.model-first #workspace-frame #section-clear { flex:0 0 auto; min-height:44px; padding:6px 9px; font-size:11px; background:transparent; }
.model-first #workspace-frame .viewer-status { display:block; flex:0 1 auto; min-width:0; border:0; background:transparent; padding:0; margin:0; }
.model-first #workspace-frame #preview-status { margin:0; font-size:11px; line-height:1.4; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:#acc2ce; }
.model-first #workspace-frame .canvas-caption { font-size:11px; background:#0b1722b8; border:0; border-radius:5px; padding:4px 7px; color:#b4cbd8; }
.model-first #workspace-frame .viewer-empty { padding:24px; }
.model-first #workspace-frame .viewer-empty h2 { font-size:21px; }
.model-first #workspace-frame .viewer-empty p { font-size:13px; max-width:45ch; }
.model-first #workspace-frame .viewer-body[data-layers-open="true"] { grid-template-columns:300px minmax(0,1fr); }
.model-first #workspace-frame .scan-layers { background:#0d202c; border-color:var(--shell-line); overflow:hidden; }
.model-first #workspace-frame .layers-heading { padding:8px 10px 5px 14px; align-items:flex-start; }
.model-first #workspace-frame .layers-heading h2 { font-size:15px; margin:4px 0; }
.model-first #workspace-frame .layers-heading p { font-size:10px; margin:0; color:var(--shell-muted); }
.model-first #workspace-frame .layers-heading-actions { display:flex; gap:0; flex:0 0 auto; }
.model-first #workspace-frame .layers-heading-actions button { width:44px; min-height:44px; padding:0; background:transparent; border-color:transparent; }
.model-first #workspace-frame #layers-close { font-size:24px; font-weight:400; }
.model-first #workspace-frame .layer-list-controls { display:flex; flex-direction:column; gap:8px; padding:0 13px 6px; border-color:var(--shell-line); }
.model-first #workspace-frame .layer-list-controls label { font-size:11px; }
.model-first #workspace-frame .layer-list-controls input,
.model-first #workspace-frame .layer-list-controls select { font-size:13px; }
.model-first #workspace-frame #scene-mode-hint { font-size:10px; color:var(--shell-muted); line-height:1.5; margin:-3px 0 0; }
.model-first #workspace-frame .layer-list-options > summary { font-size:11px; min-height:44px; padding:10px 0; }
.model-first #workspace-frame .layer-list-options[open] { margin-bottom:5px; }
.model-first #workspace-frame .layer-list-options .layer-bulk-actions { margin-top:7px; }
.model-first #workspace-frame .layer-list { flex:1 1 auto; min-height:0; overflow:auto; padding:5px 8px 10px; }
.model-first #workspace-frame .source-collection { margin:0 0 10px; }
.model-first #workspace-frame .collection-heading { font-size:10px; font-weight:600; line-height:1.5; color:#a7bdca; letter-spacing:.03em; overflow-wrap:anywhere; margin:10px 7px 6px; }
.model-first #workspace-frame .scan-layer { background:#102733; border:1px solid #27434f; border-left:3px solid var(--layer-color); border-radius:7px; margin-bottom:5px; padding-bottom:5px; }
.model-first #workspace-frame .scan-layer[data-active="true"] { background:#1a3542; border-color:#7aafbf; border-left-color:var(--layer-color); }
.model-first #workspace-frame .scan-layer .layer-name { font-size:12px; padding:6px; color:#e3f1f7; }
.model-first #workspace-frame .layer-meta { font-size:10px; color:#a7c0cf; }
.model-first #workspace-frame .layer-row-actions { gap:4px; }
.model-first #workspace-frame .layer-row-actions button { font-size:10px; border:0; background:transparent; color:#b6ced9; }
.model-first #workspace-frame .scan-layer:not([data-active="true"]):not(:focus-within) .layer-row-actions { display:none; }
@media(hover:hover) { .model-first #workspace-frame .scan-layer:hover .layer-row-actions { display:flex!important; } }
.model-first #workspace-frame .layers-footer { padding:7px 13px; border-color:var(--shell-line); }
.model-first #workspace-frame .layers-footer p { font-size:10px; margin:0; color:#a8c2d0; }
.model-first #workspace-frame .layers-footer p + p { margin-top:4px; }
.model-first #project-details { border:1px solid var(--shell-line); border-radius:9px; padding:0 14px; margin:12px 0 0; background:var(--shell-bg); }
.model-first #project-details > summary { display:flex; align-items:center; gap:12px; justify-content:space-between; min-height:48px; font-size:12px; color:var(--shell-muted); }
.model-first #project-details > summary .small { font-size:10px; font-weight:400; }
.model-first #project-details > .project-bottom { margin:0 0 8px; padding:0; }
.model-first #project-details > .project-bottom p { margin:0; font-size:11px; }
.model-first #project-details .extract-tools,
.model-first #project-details .drawings-drawer,
.model-first #project-details .cad-workflow { margin:9px 0; }
.model-first #workspace-frame.clean-view .model-statusbar { display:none; }
.model-first #workspace-frame.clean-view .view-picker,
.model-first #workspace-frame.clean-view .layer-picker { display:grid; }
.model-first #workspace-frame.clean-view .viewer-actions { display:flex; }
.model-first #workspace-frame.clean-view #layers-toggle { margin-right:0; }
.model-first #workspace-frame.suite-tools-open { display:grid; grid-template-columns:minmax(0,1fr) 350px; grid-template-rows:auto minmax(0,1fr) auto; }
.model-first #workspace-frame.suite-tools-open > .viewer-toolbar { grid-column:1 / -1; grid-row:1; }
.model-first #workspace-frame.suite-tools-open > .viewer-main { grid-column:1; grid-row:2; }
.model-first #workspace-frame.suite-tools-open > #suite-panel { grid-column:2; grid-row:2 / 4; height:auto; max-height:none; }
.model-first #workspace-frame.suite-tools-open > .model-statusbar { grid-column:1; grid-row:3; }
.model-first #workspace-frame.workspace-expanded,
.model-first #workspace-frame:fullscreen { width:100%; height:var(--workspace-height,100dvh); min-height:0; max-height:var(--workspace-height,100dvh); border:0; border-radius:0; padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left); box-shadow:none; }
.model-first #workspace-frame .guided-tour { bottom:54px; right:14px; max-height:calc(100% - 118px); overflow:auto; }
@media(max-width:1080px) {
  .model-first #workspace-frame .viewer-toolbar button,
  .model-first #workspace-frame .workspace-popover > summary { padding-inline:8px; }
  .model-first #workspace-frame .viewer-actions > .help-button { width:44px; min-width:44px; font-size:0; padding:8px; gap:0; }
}
@media(max-width:880px) {
  .model-first #workspace-frame > .viewer-toolbar { display:grid; grid-template-columns:minmax(0,1fr); gap:4px; padding:5px 8px; }
  .model-first #workspace-frame .toolbar-main { display:flex; gap:5px; }
  .model-first #workspace-frame .toolbar-main > button { flex:1 1 auto; }
  .model-first #workspace-frame .viewer-actions { justify-content:space-between; width:100%; gap:4px; }
  .model-first #workspace-frame .viewer-actions > button,
  .model-first #workspace-frame .viewer-actions > details { flex:1 1 auto; }
  .model-first #workspace-frame .workspace-popover { position:static; }
  .model-first #workspace-frame .view-settings-panel,
  .model-first #workspace-frame .workspace-actions-panel { top:100%; right:8px; left:auto; max-width:calc(100% - 16px); }
  .model-first #workspace-frame .view-settings-panel { left:8px; right:auto; }
  .model-first #workspace-frame .viewer-body[data-layers-open="true"] { grid-template-columns:minmax(0,1fr); }
  .model-first #workspace-frame .scan-layers { position:absolute; top:0; bottom:0; left:0; z-index:6; width:min(320px,calc(100% - 38px)); max-width:100%; box-shadow:10px 0 30px #0005; }
}
@media(max-width:760px) {
  .model-first main { padding:0 8px 12px; }
  .model-first .site-header { padding:5px 10px; min-height:54px; }
  .model-first .project-heading { min-height:59px; padding:6px 3px; gap:7px; }
  .model-first .project-heading h1 { font-size:17px; }
  .model-first .project-heading .eyebrow { font-size:8px; }
  .model-first .project-context { gap:0; }
  .model-first .revision-label { display:none; }
  .model-first .frame-status { font-size:10px; padding:6px; max-width:150px; white-space:normal; }
  .model-first #workspace-frame { height:max(410px,calc(var(--app-viewport-height,100dvh) - 133px)); border-radius:9px; }
  .model-first #workspace-frame .wide-label { display:none; }
  .model-first #workspace-frame .viewer-toolbar button,
  .model-first #workspace-frame .workspace-popover > summary { font-size:12px; padding-inline:8px; }
  .model-first #workspace-frame .viewer-actions > .help-button { font-size:0; flex:0 0 44px; }
  .model-first #workspace-frame #fullscreen-toggle { font-size:0; flex:0 0 44px; }
  .model-first #workspace-frame #fullscreen-toggle::before { content:'⛶'; font-size:23px; font-weight:400; }
  .model-first #workspace-frame #fullscreen-toggle[aria-pressed="true"]::before { content:'×'; font-size:28px; }
  .model-first #workspace-frame .model-statusbar { display:flex; flex-wrap:wrap; gap:0; padding:5px 10px; min-height:46px; }
  .model-first #workspace-frame .model-statusbar .active-source { width:100%; flex:1 1 100%; justify-content:space-between; }
  .model-first #workspace-frame .active-scan-label { max-width:100%; font-size:11px; line-height:1.5; }
  .model-first #workspace-frame .viewer-status { width:100%; }
  .model-first #workspace-frame #preview-status { font-size:10px; line-height:1.5; }
  .model-first #workspace-frame .canvas-caption { font-size:9px; padding:3px 5px; }
  .model-first #workspace-frame .view-settings-panel input[type="text"],
  .model-first #workspace-frame .view-settings-panel select,
  .model-first #workspace-frame .layer-list-controls input,
  .model-first #workspace-frame .layer-list-controls select { font-size:16px; }
  .model-first #workspace-frame.suite-tools-open { display:flex; flex-direction:column; }
  .model-first #workspace-frame.suite-tools-open > .viewer-main { order:1; flex:1 1 auto; min-height:140px; height:auto; }
  .model-first #workspace-frame.suite-tools-open > #suite-panel { order:2; width:100%; flex:0 1 44%; min-height:160px; max-height:44%; }
  .model-first #workspace-frame.suite-tools-open .model-statusbar,
  .model-first #workspace-frame.cad-is-open .model-statusbar,
  .model-first #workspace-frame.clean-view .model-statusbar { display:none; }
  .model-first #workspace-frame.cad-is-open { height:max(510px,calc(var(--app-viewport-height,100dvh) - 133px)); }
  .model-first #workspace-frame.workspace-expanded,
  .model-first #workspace-frame:fullscreen { height:var(--workspace-height,100dvh); min-height:0; max-height:var(--workspace-height,100dvh); }
  .model-first #project-details { padding:0 10px; }
  .model-first #project-details > summary .small { display:none; }
}
@media(max-height:520px) and (orientation:landscape) {
  .model-first .site-header { min-height:46px; padding:2px 12px; }
  .model-first .project-heading { min-height:48px; padding:2px 4px; }
  .model-first .project-heading .eyebrow { display:none; }
  .model-first #workspace-frame { height:max(285px,calc(var(--app-viewport-height,100dvh) - 110px)); }
  .model-first #workspace-frame > .viewer-toolbar { display:flex; flex-wrap:nowrap; gap:4px; padding:3px 6px; min-height:50px; }
  .model-first #workspace-frame .toolbar-main { flex:1 1 auto; gap:2px; }
  .model-first #workspace-frame .viewer-actions { flex:0 0 auto; width:auto; gap:1px; }
  .model-first #workspace-frame .viewer-toolbar button,
  .model-first #workspace-frame .workspace-popover > summary { padding:5px 7px; font-size:11px; }
  .model-first #workspace-frame .wide-label { display:none; }
  .model-first #workspace-frame .viewer-actions > .help-button,
  .model-first #workspace-frame #fullscreen-toggle { font-size:0; flex:0 0 44px; }
  .model-first #workspace-frame #fullscreen-toggle::before { content:'⛶'; font-size:23px; }
  .model-first #workspace-frame #fullscreen-toggle[aria-pressed="true"]::before { content:'×'; font-size:28px; }
  .model-first #workspace-frame .model-statusbar { min-height:28px; padding:2px 10px; display:flex; flex-wrap:nowrap; gap:8px; }
  .model-first #workspace-frame .model-statusbar .active-source { width:auto; flex:1 1 auto; }
  .model-first #workspace-frame .viewer-status { width:auto; flex:0 1 auto; }
  .model-first #workspace-frame.suite-tools-open { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,38%); grid-template-rows:auto minmax(0,1fr) auto; }
  .model-first #workspace-frame.suite-tools-open > #suite-panel { grid-column:2; grid-row:2 / 4; min-height:0; max-height:100%; }
  .model-first #workspace-frame.suite-tools-open > .viewer-main { grid-column:1; grid-row:2; min-height:80px; height:100%; }
  .model-first #workspace-frame.workspace-expanded,
  .model-first #workspace-frame:fullscreen,
  .model-first #workspace-frame.cad-is-open.workspace-expanded,
  .model-first #workspace-frame.cad-is-open:fullscreen { height:var(--workspace-height,100dvh); min-height:0; max-height:var(--workspace-height,100dvh); }
  .model-first #workspace-frame.clean-view .model-statusbar { display:none; }
}
:root[data-theme="light"] .model-first { --shell-bg:#edf2f5; --shell-panel:#fff; --shell-line:#c0cfd6; --shell-muted:#48626f; --shell-hover:#e7f0f5; --shell-ink:#173744; }
[data-theme="light"] .model-first .site-header { border-color:#ccd8de; }
[data-theme="light"] .model-first .project-heading .eyebrow { color:#527080; }
[data-theme="light"] .model-first .frame-status { color:#77531a; background:#fff6e2; border-color:#d8bf87; }
[data-theme="light"] .model-first #workspace-frame .viewer-toolbar button[aria-expanded="true"],
[data-theme="light"] .model-first #workspace-frame .workspace-popover[open] > summary { color:#0a495e; border-color:#75a5b6; background:#e1f1f6; }
[data-theme="light"] .model-first #workspace-frame .model-statusbar,
[data-theme="light"] .model-first #workspace-frame .scan-layers { background:#f6fafc; }
[data-theme="light"] .model-first #workspace-frame .active-scan-label { color:#1e4556; }
[data-theme="light"] .model-first #workspace-frame #preview-status,
[data-theme="light"] .model-first #workspace-frame .layers-footer p,
[data-theme="light"] .model-first #workspace-frame .collection-heading,
[data-theme="light"] .model-first #workspace-frame .layer-meta { color:#4a6777; }
[data-theme="light"] .model-first #workspace-frame .scan-layer { background:#f1f7fa; border-color:#c1d4df; border-left-color:var(--layer-color); }
[data-theme="light"] .model-first #workspace-frame .scan-layer[data-active="true"] { background:#e0eff5; border-color:#72a3b5; border-left-color:var(--layer-color); }
[data-theme="light"] .model-first #workspace-frame .scan-layer .layer-name,
[data-theme="light"] .model-first #workspace-frame .layer-row-actions button { color:#244b5d; }
[data-theme="light"] .model-first #workspace-frame .workspace-popover > summary { color:#173744; }
@media(prefers-reduced-motion:reduce) { .model-first #workspace-frame * { scroll-behavior:auto!important; } }
.model-first #workspace-frame .derived-summary { border-top:1px solid var(--shell-line); margin-top:10px; }
.model-first #workspace-frame .derived-summary > summary { min-height:44px; padding:10px 0; font-size:12px; }
.model-first #workspace-frame .derived-summary .source-fields { grid-template-columns:1fr; gap:4px; margin:8px 0; }
.model-first #workspace-frame .derived-summary .source-fields dt { font-size:11px; }
.model-first #workspace-frame .derived-summary .source-fields dd { font-size:11px; margin:0 0 9px; color:var(--shell-ink); }
.model-first .local-processing-section { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:12px 2px 16px; border-bottom:1px solid var(--shell-line); }
.model-first .local-processing-section h2 { font-size:15px; margin:0 0 5px; }
.model-first .local-processing-section p { max-width:60ch; font-size:12px; color:var(--shell-muted); margin:0; }
.model-first .local-processing-actions { display:flex; align-items:center; gap:8px; flex:0 0 auto; }
.model-first .local-processing-actions a { min-height:44px; display:inline-flex; align-items:center; border:1px solid var(--shell-line); padding:8px 12px; border-radius:7px; font-size:12px; color:var(--shell-ink); text-decoration:none; }
@media(max-width:760px) { .model-first .local-processing-section { flex-direction:column; align-items:flex-start; gap:12px; } }
.model-first #workspace-frame > #viewer-main { min-height:0; }
@media(max-height:520px) and (orientation:landscape) {
  .model-first #workspace-frame .scan-layers { overflow:auto; }
  .model-first #workspace-frame .layer-list { flex:0 0 auto; overflow:visible; }
  .model-first #workspace-frame #viewer-main[data-region-open="true"] { grid-template-columns:minmax(0,1fr) minmax(220px,36%); grid-template-rows:minmax(0,1fr); }
  .model-first #workspace-frame #viewer-main[data-region-open="true"] > .region-dock { grid-column:2; grid-row:1; height:100%; min-height:0; }
}
@media(max-width:640px) and (max-height:520px) and (orientation:landscape) {
  .model-first #workspace-frame > .viewer-toolbar { display:grid; grid-template-columns:minmax(0,1fr); }
  .model-first #workspace-frame .viewer-actions { width:100%; }
}
.model-first #workspace-frame #layers-toggle::after { right:auto; left:0; }
.model-first #workspace-frame #cad-open::after { right:auto; left:0; max-width:min(260px,calc(100vw - 115px)); }
@media print {
  .model-first #project-workspace > #project-details { display:block!important; border:0; padding:0; margin:0; }
  .model-first #project-workspace > :not(#project-details),
  .model-first #project-details > :not(.cad-workflow),
  .model-first #project-details > .cad-workflow > summary { display:none!important; }
  .model-first #project-details > .cad-workflow { display:block!important; padding:0; margin:0; border:0; }
  .model-first #project-details .cad-package { display:block!important; }
}
