/* Connection CAD stays in the existing authenticated workspace. */
.cad-workbench{position:absolute;inset:0 0 0 auto;width:386px;z-index:7;display:flex;flex-direction:column;background:#0b2230;border-left:1px solid #365362;box-shadow:-14px 0 32px #0002;font-size:12px;color:#dcecf4;overflow:hidden}
.workspace-frame.cad-is-open .viewer-shell #viewer-3d{right:386px}
.workspace-frame.cad-is-open .canvas-caption{max-width:calc(100% - 430px)}
.workspace-frame.cad-is-open .layer-warning,.workspace-frame.cad-is-open .centerline-warning{right:400px}
.cad-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 14px;border-bottom:1px solid #2b4c5b;flex:none}
.cad-head h2{font-size:17px;margin:0}.cad-head .eyebrow{font-size:8px;margin:0 0 2px}.cad-head-actions{display:flex;gap:4px}.cad-head-actions button{padding:7px 10px;font-size:12px;min-width:44px}
.cad-tabs{display:grid;grid-template-columns:repeat(3,1fr);padding:5px 10px;gap:4px;border-bottom:1px solid #294959;flex:none}
.cad-tabs button{border:0;border-bottom:2px solid transparent;border-radius:5px 5px 0 0;background:transparent;font-size:12px;padding:8px 5px;min-height:44px;color:#a8c3d2}
.cad-tabs button[aria-selected=true]{border-bottom-color:#70d1ed;color:#effbff;background:#113342}
.cad-body{padding:12px 14px 16px;overflow:auto;overscroll-behavior:contain;min-height:0;flex:1;scrollbar-gutter:stable}
.cad-body h3{font-size:13px;margin:13px 0 8px}.cad-body h3:first-child{margin-top:0}.cad-body p{font-size:12px;line-height:1.5;margin:6px 0 10px}
.cad-context{padding:8px 10px;margin:0 0 12px;border-radius:7px;background:#071c28;color:#a9cbdc;font-size:11px;overflow-wrap:anywhere}
.cad-context strong{color:#e3f6fc}.cad-field{margin:9px 0;display:block}.cad-field>input,.cad-field>select{display:block;margin-top:5px;font-size:13px}.cad-field>small{font-size:11px;font-weight:400;color:#a6c0ce;display:block;margin-top:4px}
.cad-role-row{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.cad-role-row button{padding:7px 4px;font-size:11px;min-width:0}
.cad-role-row button[aria-pressed=true]{background:#23404b;border-color:#7cbdce;color:#effbff}
.cad-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:9px 0}.cad-actions button{font-size:12px;padding:8px 11px}.cad-actions .primary{flex:1}.cad-actions>label{flex:1}
.cad-body details{margin-top:12px}.cad-body summary{font-size:12px}.cad-body input,.cad-body select{font-size:13px}.cad-body [type=checkbox]{width:19px;min-height:19px;height:19px}
.cad-note{padding:8px 10px;background:#2b281b;border-left:2px solid #e8bc72;color:#f3d7ac;border-radius:0 7px 7px 0;font-size:11px!important}
.cad-source-note{font-size:10px!important;color:#9fbdcd}.cad-note a{color:#bce8ff}.cad-empty{padding:13px 11px;background:#091d29;border:1px dashed #426274;border-radius:9px;color:#b4d0df}
.cad-pick-list{margin:9px 0;max-height:130px;overflow:auto;border:1px solid #294958;border-radius:7px;padding:0;list-style:none}
.cad-pick-list li{padding:7px 9px;border-bottom:1px solid #263f4c;font-size:10px;overflow-wrap:anywhere}.cad-pick-list li:last-child{border:0}.cad-pick-list b{color:#8fe4f6;font-weight:600}
.cad-number-grid{display:grid;grid-template-columns:20px 1fr 1fr;gap:6px;align-items:center;margin:7px 0;font-size:11px;color:#abc9d9}.cad-number-grid input{font-size:12px;padding:8px 7px;min-width:0}
.cad-xyz{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.cad-xyz input{font-size:12px;padding:8px 7px}
.cad-footer{padding:8px 14px;border-top:1px solid #315064;flex:none;background:#0c2634}
.cad-footer p{font-size:11px;margin:0;overflow-wrap:anywhere;min-height:17px;color:#d1e7f1}.cad-footer p[data-error=true]{color:#ffc5a8}
.cad-dirty{font-size:10px;color:#efc281}.cad-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 0 12px}.cad-progress span{background:#071c28;border:1px solid #2a4a5a;border-radius:7px;padding:7px;font-size:10px;color:#b9cfda}.cad-progress b{font-size:16px;display:block;color:#f0d3a4}
.cad-feature-list{display:grid;gap:7px}.cad-feature{border:1px solid #345363;border-radius:9px;padding:9px;background:#0b1e2a}.cad-feature.is-selected{border-color:#eac48f;background:#172e38}.cad-feature header{display:flex;align-items:flex-start;gap:7px;justify-content:space-between}.cad-feature h3{font-size:12px!important;margin:0!important;overflow-wrap:anywhere}.cad-feature small{font-size:10px;color:#abbdca}.cad-feature .cad-actions{margin:7px 0 0}.cad-feature button{font-size:11px;min-height:44px;padding:6px 9px}.cad-feature .cad-coordinate{font:10px/1.5 ui-monospace,monospace;overflow-wrap:anywhere;margin:6px 0 0;color:#c7dce5}.cad-feature .cad-status{color:#f3c88b;font-size:10px}
.cad-feature label{flex-direction:row;align-items:center;gap:6px;font-size:10px;min-height:44px}.cad-hidden-note{color:#cfb5df}.cad-export-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0}.cad-export-grid button{font-size:12px;min-height:44px}.cad-span-2{grid-column:1/-1}
.cad-formula{padding:9px;background:#071c28;border-radius:7px;font:11px/1.6 ui-monospace,monospace;color:#cfebf5;overflow-wrap:anywhere}
.cad-pick-hint{position:absolute;left:10px;top:10px;right:400px;padding:8px 9px;background:#102b38ef;border:1px solid #71c5db;border-radius:9px;z-index:6;font-size:11px;display:flex;align-items:center;justify-content:space-between;gap:9px;pointer-events:none;max-width:500px}
.cad-pick-hint button{font-size:11px;padding:5px 8px;pointer-events:auto;white-space:nowrap}.cad-picking #viewer-3d{cursor:crosshair}
.cad-guide-step{color:#8bcce1;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.cad-guide-list{padding-left:19px;margin:7px 0}.cad-guide-list li{margin:6px 0;line-height:1.5}.cad-guide-action{width:100%;text-align:left;margin:6px 0}
.cad-detail-fields{display:grid;grid-template-columns:92px 1fr;gap:6px;font-size:11px;margin:8px 0}.cad-detail-fields dt{color:#92b8c9}.cad-detail-fields dd{margin:0;overflow-wrap:anywhere}.cad-detail-fields code{font-size:10px}
.cad-unit-fields{padding:8px 9px;background:#0b1d29;border:1px solid #2d4d5d;border-radius:9px}
.cad-footer-credit{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:9px;color:#a9c7d4}.cad-footer-credit img{width:49px;height:24px;object-fit:contain}
@media(max-width:900px){.cad-workbench{width:350px}.workspace-frame.cad-is-open .viewer-shell #viewer-3d{right:350px}.workspace-frame.cad-is-open .canvas-caption{max-width:calc(100% - 390px)}.workspace-frame.cad-is-open .layer-warning,.workspace-frame.cad-is-open .centerline-warning{right:360px}.cad-pick-hint{right:360px;flex-wrap:wrap}}
@media(max-width:650px){.workspace-frame.cad-is-open .viewer-shell{height:calc(100svh - 175px);min-height:565px;max-height:900px}.cad-workbench{inset:auto 0 0;width:100%;height:52%;border-left:0;border-top:1px solid #426578}.workspace-frame.cad-is-open .viewer-shell #viewer-3d{right:0;bottom:52%}.workspace-frame.cad-is-open .canvas-caption{bottom:calc(52% + 8px);max-width:90%;font-size:8px}.workspace-frame.cad-is-open .layer-warning{right:8px;top:8px;max-width:50%}.workspace-frame.cad-is-open .centerline-warning{right:8px;bottom:calc(52% + 30px);max-width:70%}.cad-pick-hint{right:8px;top:5px;left:8px;font-size:10px;max-width:none;flex-wrap:nowrap}.cad-head{padding:6px 10px}.cad-head h2{font-size:15px}.cad-tabs{padding:0 8px}.cad-tabs button{min-height:44px}.cad-body{padding:8px 11px 12px}.cad-footer{padding:5px 11px}.cad-context{font-size:10px;padding:6px 8px;margin-bottom:8px}.cad-workbench input,.cad-workbench select,.cad-workbench textarea{font-size:16px}.cad-number-grid input{font-size:16px}.primary-actions{flex-wrap:wrap}.primary-actions #cad-open{flex:1 1 100%;font-size:13px}.primary-actions #request-open{flex:1}.cad-progress{margin-bottom:8px}}
@media(max-height:500px) and (orientation:landscape){.workspace-frame.cad-is-open .viewer-shell{height:74dvh;min-height:280px}.cad-workbench{width:340px;inset:0 0 0 auto;height:auto;border-left:1px solid #426578;border-top:0}.workspace-frame.cad-is-open .viewer-shell #viewer-3d{right:340px;bottom:0}.workspace-frame.cad-is-open .canvas-caption{bottom:8px;max-width:calc(100% - 360px)}.cad-pick-hint{right:350px}}
@media print{.cad-workbench,.cad-pick-hint,#cad-open{display:none!important}}

/* Keep the same controls readable in both interface themes and expanded mobile views. */
.cad-control-reference{margin:8px 0;font-size:11px}.cad-control-reference dt{font-weight:650;margin-top:12px;color:#dcecf4}.cad-control-reference dd{margin:3px 0 0;color:#a9c7d4;line-height:1.5}
.workspace-frame.workspace-expanded.cad-is-open>.viewer-main{flex:1 1 0;min-width:0;min-height:0;grid-template-rows:minmax(0,1fr)}
.workspace-frame:fullscreen.cad-is-open>.viewer-main{flex:1 1 0;min-width:0;min-height:0;grid-template-rows:minmax(0,1fr)}
#workspace-frame.workspace-expanded.cad-is-open .viewer-main>.viewer-body>.viewer-shell{height:100%;min-height:0;max-height:none}
#workspace-frame:fullscreen.cad-is-open .viewer-main>.viewer-body>.viewer-shell{height:100%;min-height:0;max-height:none}
@media(max-width:650px){.workspace-frame.workspace-expanded.cad-is-open>.viewer-options,.workspace-frame.workspace-expanded.cad-is-open>.canvas-tools,.workspace-frame.workspace-expanded.cad-is-open>.viewer-status,.workspace-frame.workspace-expanded.cad-is-open>.inspection-details,.workspace-frame:fullscreen.cad-is-open>.viewer-options,.workspace-frame:fullscreen.cad-is-open>.canvas-tools,.workspace-frame:fullscreen.cad-is-open>.viewer-status,.workspace-frame:fullscreen.cad-is-open>.inspection-details{display:none}.workspace-frame.workspace-expanded.cad-is-open .cad-workbench,.workspace-frame:fullscreen.cad-is-open .cad-workbench{height:55%}.workspace-frame.workspace-expanded.cad-is-open #viewer-3d,.workspace-frame:fullscreen.cad-is-open #viewer-3d{bottom:55%}}
/* The v14 wrapper is the expanded flex item; its scan shell is now a grid item.
   Keep captions above the portrait drawer and restore a full-height side panel
   on short landscape screens after the portrait-expanded rules. */
@media(max-width:650px){
  #workspace-frame.workspace-expanded.cad-is-open .canvas-caption{bottom:calc(55% + 8px)}
  #workspace-frame:fullscreen.cad-is-open .canvas-caption{bottom:calc(55% + 8px)}
  #workspace-frame.workspace-expanded.cad-is-open .centerline-warning{bottom:calc(55% + 30px)}
  #workspace-frame:fullscreen.cad-is-open .centerline-warning{bottom:calc(55% + 30px)}
}
@media(max-height:520px) and (orientation:landscape){
  #workspace-frame.cad-is-open{--cad-landscape-width:min(340px,55%)}
  #workspace-frame.cad-is-open .cad-workbench{inset:0 0 0 auto;width:var(--cad-landscape-width);height:100%;border-top:0;border-left:1px solid #426578}
  #workspace-frame.cad-is-open .viewer-main>.viewer-body>.viewer-shell>#viewer-3d{right:var(--cad-landscape-width);bottom:0}
  #workspace-frame.cad-is-open .viewer-main>.viewer-body>.viewer-shell>.canvas-caption{bottom:8px;max-width:calc(100% - var(--cad-landscape-width) - 28px)}
  #workspace-frame.cad-is-open .viewer-main>.viewer-body>.viewer-shell>.layer-warning,#workspace-frame.cad-is-open .viewer-main>.viewer-body>.viewer-shell>.centerline-warning{right:calc(var(--cad-landscape-width) + 12px);max-width:calc(100% - var(--cad-landscape-width) - 24px)}
  #workspace-frame.cad-is-open .viewer-main>.viewer-body>.viewer-shell>.layer-warning{top:8px}
  #workspace-frame.cad-is-open .viewer-main>.viewer-body>.viewer-shell>.centerline-warning{bottom:30px}
  #workspace-frame.cad-is-open .cad-pick-hint{right:calc(var(--cad-landscape-width) + 10px);flex-wrap:wrap}
}
[data-theme=light] .cad-workbench,[data-theme=light] .cad-footer{background:#f5fafe;color:#153a4e;border-color:#a3bdcc}
[data-theme=light] .cad-workbench label,[data-theme=light] .cad-workbench summary,[data-theme=light] .cad-workbench .eyebrow,[data-theme=light] .cad-context,[data-theme=light] .cad-source-note,[data-theme=light] .cad-detail-fields dt,[data-theme=light] .cad-feature small,[data-theme=light] .cad-footer-credit,[data-theme=light] .cad-control-reference dd{color:#496778}
[data-theme=light] .cad-context,[data-theme=light] .cad-feature,[data-theme=light] .cad-empty,[data-theme=light] .cad-formula,[data-theme=light] .cad-progress span,[data-theme=light] .cad-unit-fields{background:#eaf3f8;color:#14394d;border-color:#9fbaca}
[data-theme=light] .cad-head,[data-theme=light] .cad-tabs,[data-theme=light] .cad-pick-list,[data-theme=light] .cad-pick-list li{border-color:#a3bdcc}
[data-theme=light] .cad-feature .cad-coordinate,[data-theme=light] .cad-control-reference dt,[data-theme=light] .cad-footer p,[data-theme=light] .cad-number-grid{color:#153a4e}
[data-theme=light] .cad-tabs button{color:#466778}[data-theme=light] .cad-tabs button[aria-selected=true],[data-theme=light] .cad-role-row button[aria-pressed=true]{background:#d3eaf4;color:#06405d;border-color:#3d87a3}
[data-theme=light] .cad-note{background:#fff0d3;color:#754b09}[data-theme=light] .cad-feature .cad-status,[data-theme=light] .cad-progress b,[data-theme=light] .cad-dirty{color:#7c4f0b}[data-theme=light] .cad-feature.is-selected{background:#e1f0f7;border-color:#377b9b}[data-theme=light] .cad-footer p[data-error=true]{color:#a12e20}

/* The whole-scan shell owns canvas height; CAD divides only the active viewport. */
#workspace-frame.cad-is-open .viewer-main>.viewer-body>.viewer-shell{height:100%;min-height:0;max-height:none}
@media(max-width:650px){
 #workspace-frame.cad-is-open{height:max(660px,calc(100svh - 144px))}
 #workspace-frame.workspace-expanded.cad-is-open{height:var(--workspace-height,100dvh);max-height:var(--workspace-height,100dvh)}
 #workspace-frame:fullscreen.cad-is-open{height:var(--workspace-height,100dvh);max-height:var(--workspace-height,100dvh)}
 #workspace-frame.cad-is-open>.canvas-tools,#workspace-frame.cad-is-open>.viewer-status,#workspace-frame.cad-is-open>.inspection-details{display:none}
}

.cad-equipment-fields{display:grid;gap:8px;padding:10px 0}.cad-equipment>button{min-height:44px;margin:4px 0 8px}.cad-equipment>a{display:inline-flex;min-height:44px;align-items:center;overflow-wrap:anywhere}.cad-equipment input,.cad-equipment select{width:100%;min-width:0}.cad-equipment .cad-source-note{margin:8px 0}.cad-feature details.cad-equipment{border-top:1px solid #496573;padding-top:9px}
