.page-cam{height:100%;min-height:0;overflow:hidden}
.page-cam .cam-workspace-shell{display:grid;grid-template-rows:auto minmax(0,1fr);gap:7px;height:100%;min-height:0}
.page-cam .cam-workspace-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:54px;padding:7px 9px;border:1px solid var(--line);border-radius:var(--radius-sm);background:linear-gradient(180deg,rgba(14,29,43,.98),rgba(7,18,28,.98));box-shadow:0 8px 24px rgba(0,0,0,.16)}
.page-cam .cam-workspace-heading{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:baseline;min-width:230px}
.page-cam .cam-workspace-heading .eyebrow{grid-column:1/-1}
.page-cam .cam-workspace-heading strong{font-size:clamp(15px,1vw,19px);line-height:1.1}
.page-cam .cam-workspace-heading small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:clamp(10px,.72vw,13px)}
.page-cam .cam-workspace-tabs{display:flex;align-items:stretch;gap:6px;min-width:0}
.page-cam .cam-workspace-tabs>button{position:relative;display:grid;grid-template-columns:30px minmax(120px,1fr) auto;align-items:center;gap:8px;min-height:42px;padding:5px 10px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.025);color:#a7bdcc;text-align:left;cursor:pointer}
.page-cam .cam-workspace-tabs>button:hover{border-color:rgba(64,174,255,.32);background:rgba(36,152,255,.06)}
.page-cam .cam-workspace-tabs>button.active{border-color:rgba(36,152,255,.55);background:linear-gradient(180deg,rgba(36,152,255,.18),rgba(36,152,255,.08));color:white;box-shadow:inset 0 0 0 1px rgba(99,193,255,.08),0 0 18px rgba(36,152,255,.11)}
.page-cam .cam-workspace-tabs svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7}
.page-cam .cam-workspace-tabs span,.page-cam .cam-workspace-tabs b,.page-cam .cam-workspace-tabs small{display:block;min-width:0}
.page-cam .cam-workspace-tabs b{font-size:clamp(11px,.78vw,14px);letter-spacing:.035em}
.page-cam .cam-workspace-tabs small{margin-top:2px;color:var(--muted);font-size:clamp(9px,.66vw,12px)}
.page-cam .cam-workspace-tabs .cam-module-badge{padding:3px 5px;border:1px solid rgba(112,227,91,.24);border-radius:999px;background:rgba(112,227,91,.06);color:var(--green-2);font-size:9px;font-style:normal;font-weight:850;letter-spacing:.06em}
.page-cam .cam-workspace-view{height:100%;min-height:0;overflow:hidden}
.page-cam .cam-workspace-view[hidden]{display:none!important}
.page-cam .cam-workspace-view>.three-zone-layout{height:100%;min-height:0}
.page-cam .cam-module-view{padding:0;overflow:hidden}
.page-cam .cam-module-host{height:100%;min-height:0;overflow:hidden}
.page-cam .cam-module-host>.orbit-weld-module{height:100%}
.page-cam .cam-module-loading{display:flex;align-items:center;justify-content:center;gap:14px;height:100%;min-height:220px;text-align:left}
.page-cam .cam-module-loading h2{margin:3px 0 5px;font-size:20px}
.page-cam .cam-module-loading p{margin:0;color:var(--muted);font-size:13px}
.page-cam .cam-module-loading.error{border-color:rgba(242,78,69,.32)}
.page-cam .cam-module-loading.error .cam-module-spinner{animation:none;border-color:rgba(242,78,69,.28);border-top-color:var(--red-2)}
.page-cam .cam-module-retry{margin-top:12px;min-height:38px;padding:0 14px;border:1px solid rgba(36,152,255,.42);border-radius:8px;background:rgba(36,152,255,.12);font-size:12px;font-weight:850;cursor:pointer}
.page-cam .cam-module-spinner{width:34px;height:34px;border:3px solid rgba(121,216,255,.18);border-top-color:#64cfff;border-radius:50%;animation:cam-module-spin .8s linear infinite}
@keyframes cam-module-spin{to{transform:rotate(360deg)}}

.page-cam .cam-tree-panel{flex:1;min-height:0;overflow:auto}
.page-cam .cam-tree{display:grid;gap:5px}
.page-cam .cam-op{display:grid;grid-template-columns:30px 1fr;align-items:center;gap:9px;min-height:50px;padding:7px 9px;border:1px solid transparent;border-radius:8px;background:rgba(255,255,255,.025);text-align:left;cursor:pointer}
.page-cam .cam-op:hover{border-color:var(--line)}
.page-cam .cam-op.active{border-color:rgba(36,152,255,.36);background:rgba(36,152,255,.11)}
.page-cam .cam-op i{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:rgba(255,255,255,.06);font-style:normal;font-size:11px}
.page-cam .cam-op.done i{background:rgba(112,227,91,.15);color:var(--green)}
.page-cam .cam-op.active i{background:var(--blue);color:white;box-shadow:0 0 12px rgba(36,152,255,.45)}
.page-cam .cam-op b,.page-cam .cam-op small{display:block}
.page-cam .cam-op b{font-size:clamp(12px,.82vw,15px)}
.page-cam .cam-op small{margin-top:2px;color:var(--muted);font-size:clamp(10px,.7vw,12px)}
.page-cam .cam-source-panel{flex:0 0 auto}
.page-cam .cam-parameters-panel{flex:1;min-height:0;overflow:auto}
.page-cam .cam-view{padding-top:9px}
.page-cam .cam-validation-panel{flex:0 0 auto}
.simple-mode .page-cam .cam-op:not(.active):not(.done){display:none}

body.pendant-layout .page-cam .cam-workspace-shell{gap:6px}
body.pendant-layout .page-cam .cam-workspace-header{min-height:50px;padding:5px 7px}
body.pendant-layout .page-cam .cam-workspace-heading{min-width:180px}
body.pendant-layout .page-cam .cam-workspace-tabs>button{grid-template-columns:25px minmax(105px,1fr) auto;min-height:42px;padding:4px 8px}
body.pendant-layout .page-cam .cam-workspace-tabs svg{width:21px;height:21px}
body.pendant-layout .page-cam #camToolpathsWorkspace>.three-zone-layout{grid-template-columns:220px minmax(470px,2.3fr) 250px}
body.pendant-layout .page-cam .cam-op{min-height:54px}
body.pendant-layout .page-cam .cam-op b{font-size:13px}
body.pendant-layout .page-cam .cam-op small{font-size:11px}
body.pendant-layout .page-cam .cam-module-host{font-size:14px}

@media(max-width:1180px){
  .page-cam .cam-workspace-heading small{display:none}
  .page-cam .cam-workspace-tabs .cam-module-badge{display:none}
}
@media(max-width:940px){
  .page-cam{overflow:auto}
  .page-cam .cam-workspace-shell{height:auto;min-height:100%;grid-template-rows:auto auto}
  .page-cam .cam-workspace-header{align-items:stretch;flex-direction:column}
  .page-cam .cam-workspace-tabs{display:grid;grid-template-columns:1fr 1fr}
  .page-cam .cam-workspace-view{height:auto;min-height:620px}
}

/* Embedded-module fit: the complete ORBIT shell remains visible on 13-inch and Lenovo pendant displays. */
body.pendant-layout .page-cam .cam-workspace-heading{display:none}
body.pendant-layout .page-cam .cam-workspace-header{justify-content:flex-end}
body.pendant-layout .page-cam .cam-workspace-tabs{width:100%;justify-content:flex-end}
body.pendant-layout .page-cam .cam-workspace-tabs>button{flex:0 1 250px}
body.pendant-layout .page-cam .cam-module-host .orbit-weld-module{gap:6px}
body.pendant-layout .page-cam .cam-module-host .orbit-weld-toolbar{min-height:52px;padding:6px 10px}
body.pendant-layout .page-cam .cam-module-host .orbit-weld-toolbar-status small{display:none}
body.pendant-layout .page-cam .cam-module-host .weld-workflow-panel{flex:0 0 220px;min-height:220px}
body.pendant-layout .page-cam .cam-module-host .weld-context-panel{flex:0 0 auto;max-height:180px;overflow:auto}
body.pendant-layout .page-cam .cam-module-host .weld-editor-panel{overflow:auto}
@media(max-height:830px) and (min-width:901px){
  body.pendant-layout .page-cam .cam-workspace-header{min-height:44px}
  body.pendant-layout .page-cam .cam-workspace-tabs>button{min-height:38px}
  body.pendant-layout .page-cam .cam-module-host .orbit-weld-toolbar{min-height:46px;padding-block:4px}
  body.pendant-layout .page-cam .cam-module-host .weld-workflow-panel{flex-basis:205px;min-height:205px}
}

/* v2.4.7 compact application switcher and embedded-module emphasis. */
.page-cam .cam-workspace-shell{grid-template-rows:auto minmax(0,1fr);gap:6px}
.page-cam .cam-workspace-header{display:grid;grid-template-columns:minmax(360px,auto) minmax(210px,1fr) auto;align-items:center;gap:10px;min-height:54px;padding:6px 9px}
.page-cam .cam-workspace-tabs{display:flex;align-items:center;gap:6px;min-width:0}
.page-cam .cam-workspace-tabs>button{display:grid;grid-template-columns:25px minmax(0,1fr) 24px auto;align-items:center;gap:7px;min-height:42px;padding:5px 8px;min-width:0}
.page-cam .cam-workspace-tabs>button>b{font-size:13px;white-space:nowrap}
.page-cam .cam-workspace-tabs>button>.info-tip{width:22px;height:22px;font-size:10px}
.page-cam .cam-workspace-tabs svg{width:22px;height:22px}
.page-cam .cam-workspace-heading{display:flex;align-items:center;gap:8px;min-width:0}
.page-cam .cam-workspace-heading>span:not(.cam-workspace-icon){min-width:0}
.page-cam .cam-workspace-heading strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}
.page-cam .cam-workspace-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(36,152,255,.3);border-radius:8px;background:rgba(36,152,255,.1);color:var(--blue-2)}
.page-cam .cam-workspace-icon svg{width:21px;height:21px}
.page-cam .cam-workspace-status{display:flex;align-items:center;justify-content:flex-end;gap:5px;min-width:0;flex-wrap:wrap}
.page-cam .cam-workspace-status[hidden]{display:none!important}
.page-cam .cam-workspace-status .status-chip{font-size:11px!important;white-space:nowrap}
.page-cam .cam-op{grid-template-columns:32px minmax(0,1fr) 24px;min-height:54px}
.page-cam .cam-op b{font-size:14px}
.page-cam .cam-op small[hidden]{display:none!important}
.page-cam .cam-op>.info-tip{width:22px;height:22px;font-size:10px}

/* The module title/status is owned by the compact CAM frame; free the space for the local seam frame. */
.page-cam .cam-module-host .orbit-weld-toolbar{display:none!important}
.page-cam .cam-module-host .orbit-weld-module{gap:0!important}
.page-cam .cam-module-host .weld-layout{height:100%;grid-template-columns:minmax(230px,.78fr) minmax(560px,2.5fr) minmax(300px,1fr)}
.page-cam .cam-module-host .weld-preview-panel{border-color:rgba(79,190,255,.55);box-shadow:0 0 0 1px rgba(79,190,255,.12),0 0 28px rgba(36,152,255,.14),inset 0 0 30px rgba(36,152,255,.045)}
.page-cam .cam-module-host .weld-workflow button{grid-template-columns:34px minmax(0,1fr) 24px;min-height:56px}
.page-cam .cam-module-host .weld-workflow b{font-size:14px!important}
.page-cam .cam-module-host .weld-workflow small[hidden]{display:none!important}
.page-cam .cam-module-host .weld-workflow .info-tip{width:22px;height:22px;font-size:10px}

body.pendant-layout .page-cam .cam-workspace-header{display:grid;grid-template-columns:minmax(340px,auto) minmax(180px,1fr) auto;min-height:52px;padding:5px 7px}
body.pendant-layout .page-cam .cam-workspace-heading{display:flex!important;min-width:0}
body.pendant-layout .page-cam .cam-workspace-tabs{width:auto;justify-content:flex-start}
body.pendant-layout .page-cam .cam-workspace-tabs>button{flex:none;min-width:170px;grid-template-columns:23px minmax(0,1fr) 22px auto;min-height:42px}
body.pendant-layout .page-cam .cam-workspace-tabs>button>b{font-size:12.5px}
body.pendant-layout .page-cam .cam-workspace-tabs .cam-module-badge{display:none}
body.pendant-layout .page-cam .cam-module-host .weld-layout{grid-template-columns:minmax(220px,.76fr) minmax(520px,2.45fr) minmax(285px,1fr)}
body.pendant-layout .page-cam .cam-module-host .weld-workflow-panel{flex-basis:auto;min-height:0}

@media(max-width:1280px){
  .page-cam .cam-workspace-header{grid-template-columns:minmax(330px,auto) minmax(160px,1fr) auto;gap:7px}
  .page-cam .cam-workspace-heading strong{font-size:14px}
  .page-cam .cam-workspace-status .status-chip:nth-child(3){display:none}
  body.pendant-layout .page-cam .cam-workspace-tabs>button{min-width:155px}
  body.pendant-layout .page-cam .cam-module-host .weld-layout{grid-template-columns:210px minmax(500px,2.35fr) 275px}
}
