/* Rapid ORBIT v2.4.12 — v2.4.10 visual baseline plus live API readability and read-only state styling. */

/* Recover vertical space without returning to unreadably small text. */
body.pendant-layout{
  --telemetry:60px;
  --pendant-nav:64px;
}
body.pendant-layout .motion-telemetry{
  grid-template-columns:116px minmax(0,1fr) 148px;
  gap:5px;
  padding:4px 7px;
}
body.pendant-layout .frame-button{
  min-height:50px;
  padding-inline:8px;
}
body.pendant-layout .frame-button b{font-size:14px}
body.pendant-layout .frame-button small{font-size:10px}
body.pendant-layout .coordinate-grid{gap:4px}
body.pendant-layout .coordinate-cell{
  min-height:50px;
  padding:4px 7px;
  gap:5px;
}
body.pendant-layout .coordinate-cell span,
body.pendant-layout .coordinate-cell strong{
  font-size:15px!important;
  line-height:1!important;
}
body.pendant-layout .coordinate-cell span{min-width:28px}
body.pendant-layout .global-speed-card{
  min-height:52px;
  grid-template-columns:48px minmax(0,1fr);
  gap:7px;
  padding:3px 7px;
}
body.pendant-layout .global-speed-ring{width:47px;height:47px}
body.pendant-layout .global-speed-ring strong{font-size:16px}
body.pendant-layout .global-speed-copy b{font-size:11px}
body.pendant-layout .global-speed-copy small{font-size:10px;line-height:1.15}

body.pendant-layout .pendant-nav{
  height:var(--pendant-nav);
  gap:2px;
  padding:4px 5px calc(4px + env(safe-area-inset-bottom));
}
body.pendant-layout .pendant-nav button{
  gap:3px;
  padding:2px 1px;
  border-radius:8px;
}
body.pendant-layout .pendant-nav button svg{width:20px!important;height:20px!important}
body.pendant-layout .pendant-nav button span{
  font-size:9.5px!important;
  line-height:1!important;
  font-weight:900;
}

body.pendant-layout .page-actions{
  min-height:42px;
  padding:3px;
  gap:3px;
}
body.pendant-layout .page-actions .action-button{
  min-height:36px;
  padding-inline:7px;
  font-size:10px;
}

/* CAM application frame: the workspace buttons are the title; remove the duplicate heading. */
body.pendant-layout .page-cam .cam-workspace-shell{gap:4px}
body.pendant-layout .page-cam .cam-workspace-header{
  min-height:44px;
  padding:3px 6px;
  gap:6px;
}
body.pendant-layout .page-cam.welding-workspace-active .cam-workspace-header{
  grid-template-columns:minmax(320px,1fr) auto!important;
}
body.pendant-layout .page-cam.welding-workspace-active .cam-workspace-heading{display:none!important}
body.pendant-layout .page-cam .cam-workspace-tabs>button{
  min-height:36px;
  padding:3px 7px;
  grid-template-columns:21px minmax(0,1fr) 20px auto;
}
body.pendant-layout .page-cam .cam-workspace-tabs svg{width:19px;height:19px}
body.pendant-layout .page-cam .cam-workspace-tabs>button>b{font-size:11.5px}
body.pendant-layout .page-cam .cam-workspace-tabs>button>.info-tip{width:20px;height:20px}
body.pendant-layout .page-cam .cam-workspace-status .status-chip{font-size:9.5px!important;min-height:22px}

/* Give the central welding canvas priority over navigation and editors. */
body.pendant-layout .page-cam .cam-module-host .orbit-weld-module{position:relative}
body.pendant-layout .page-cam .cam-module-host .weld-layout{
  grid-template-columns:190px minmax(0,1fr) 292px!important;
  gap:6px!important;
}
body.pendant-layout .page-cam .cam-module-host .weld-workflow-panel{min-width:0}
body.pendant-layout .page-cam .cam-module-host .weld-workflow button{
  grid-template-columns:30px minmax(0,1fr) 20px!important;
  min-height:47px!important;
  padding:4px 6px!important;
  gap:6px!important;
}
body.pendant-layout .page-cam .cam-module-host .weld-workflow button i:first-child{width:27px;height:27px}
body.pendant-layout .page-cam .cam-module-host .weld-workflow b{font-size:12.5px!important}
body.pendant-layout .page-cam .cam-module-host .weld-workflow .info-tip{width:20px;height:20px;font-size:9px}
body.pendant-layout .page-cam .cam-module-host .weld-context-panel{max-height:145px}
body.pendant-layout .page-cam .cam-module-host .weld-editor-panel{padding:8px}

/* The centre now contains one dominant Seam Frame visualization. */
body.pendant-layout .page-cam .cam-module-host .weld-center-stack{
  display:block!important;
  height:100%;
  min-height:0;
}
body.pendant-layout .page-cam .cam-module-host .weld-preview-panel{
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:0;
  overflow:hidden!important;
  padding:8px;
}
body.pendant-layout .page-cam .cam-module-host .weld-preview-head{
  flex:0 0 auto;
  min-height:46px;
  margin-bottom:6px;
  align-items:center;
}
body.pendant-layout .page-cam .cam-module-host .weld-preview-head>div:first-child{
  position:relative;
  display:flex;
  align-items:center;
  gap:7px;
  min-width:0;
}
body.pendant-layout .page-cam .cam-module-host .weld-preview-head .eyebrow{display:none}
body.pendant-layout .page-cam .cam-module-host .weld-core-frame-title{
  display:flex;
  align-items:baseline;
  gap:4px;
  min-width:0;
  margin:0;
  font-size:18px!important;
  line-height:1.1;
  white-space:nowrap;
}
body.pendant-layout .page-cam .cam-module-host .weld-core-frame-title>span:first-child{
  color:#ecf8ff;
  font-weight:900;
}
body.pendant-layout .page-cam .cam-module-host .weld-core-frame-title b{color:#67869b;font-weight:600}
body.pendant-layout .page-cam .cam-module-host .weld-core-frame-title strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#7fd1ff;
  font-size:16px;
}
body.pendant-layout .page-cam .cam-module-host .weld-pattern-chip{
  order:-1;
  max-width:150px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.pendant-layout .page-cam .cam-module-host .weld-frame-info,
body.pendant-layout .page-cam .cam-module-host .weld-frame-details-trigger{
  flex:0 0 auto;
  width:22px;
  height:22px;
}
body.pendant-layout .page-cam .cam-module-host .weld-frame-details-trigger{
  border:1px solid rgba(95,190,255,.42);
  background:rgba(36,152,255,.1);
  color:#8bd7ff;
  cursor:pointer;
}
body.pendant-layout .page-cam .cam-module-host .weld-svg-wrap{
  flex:1 1 auto;
  min-height:260px;
  display:flex;
  align-items:stretch;
}
body.pendant-layout .page-cam .cam-module-host .weld-svg-wrap svg{
  width:100%;
  height:100%;
  max-height:none!important;
}
body.pendant-layout .page-cam .cam-module-host .weld-metric-grid{
  flex:0 0 auto;
  margin-top:5px;
  gap:4px;
}
body.pendant-layout .page-cam .cam-module-host .weld-metric-grid>div{padding:5px 6px}
body.pendant-layout .page-cam .cam-module-host .weld-metric-grid span{font-size:10px}
body.pendant-layout .page-cam .cam-module-host .weld-metric-grid strong{font-size:13px}
body.pendant-layout .page-cam .cam-module-host .weld-metric-grid small{font-size:10px}
body.pendant-layout .page-cam .cam-module-host .weld-formula-row{margin-top:4px}

/* Graphic labels are annotations, not headings. Keep them light and legible. */
body.pendant-layout .page-cam .cam-module-host .weld-axis-labels text{
  fill:#9cb6c8!important;
  font-family:Inter,ui-sans-serif,system-ui,sans-serif!important;
  font-size:10.5px!important;
  font-weight:500!important;
  letter-spacing:.025em!important;
  paint-order:stroke fill;
  stroke:#06131f;
  stroke-width:2.2px;
  stroke-linejoin:round;
}

/* Detailed frame data is retained, but opened only when requested. */
.page-cam .cam-module-host .weld-frame-details-modal{
  position:absolute;
  inset:6px;
  z-index:320;
  display:grid;
  place-items:center;
  padding:18px;
}
.page-cam .cam-module-host .weld-frame-details-modal[hidden]{display:none!important}
.page-cam .cam-module-host .weld-frame-details-backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  background:rgba(0,7,13,.78);
  backdrop-filter:blur(5px);
  cursor:pointer;
}
.page-cam .cam-module-host .weld-frame-details-modal .weld-seam-frame-panel{
  position:relative;
  z-index:1;
  width:min(920px,94%);
  max-height:86%;
  overflow:auto!important;
  padding:14px;
  border-color:rgba(79,190,255,.42);
  box-shadow:0 24px 80px rgba(0,0,0,.62),0 0 30px rgba(36,152,255,.14);
}
.page-cam .cam-module-host .weld-frame-details-close{margin-left:auto}

/* Keep action labels readable while reducing the footer footprint. */
body.pendant-layout .page-cam .cam-module-host .page-footer{gap:4px}
body.pendant-layout .page-cam .cam-module-host .weld-actions{min-height:42px}
body.pendant-layout .page-cam .cam-module-host .weld-actions .action-button{
  min-height:36px;
  font-size:10px;
}

@media(max-width:1280px){
  body.pendant-layout .page-cam .cam-module-host .weld-layout{
    grid-template-columns:178px minmax(0,1fr) 270px!important;
  }
  body.pendant-layout .coordinate-cell span,
  body.pendant-layout .coordinate-cell strong{font-size:14px!important}
  body.pendant-layout .pendant-nav button span{font-size:10px!important}
}

/* Let the job name use the full left-column width instead of wrapping behind the state chip. */
body.pendant-layout .page-cam .cam-module-host .weld-workflow-panel>.panel-title-row{
  display:grid;
  grid-template-columns:1fr;
  gap:4px;
}
body.pendant-layout .page-cam .cam-module-host #weldJobTitle{
  font-size:15px!important;
  line-height:1.15;
}
body.pendant-layout .page-cam .cam-module-host #weldQualificationChip{justify-self:start}


/* Read-only and unavailable live-state presentation. */
.global-speed-ring.unavailable{filter:saturate(.25);opacity:.72}
.global-speed-ring.unavailable::before{background:rgba(103,134,155,.28)!important}
.speed-popover input:disabled,.speed-popover button:disabled{cursor:not-allowed;opacity:.62}
.coordinate-cell.motion-readonly{cursor:default}
.compact-status.idle .shield-dot{background:rgba(103,134,155,.18);color:#9cb6c8}
.compact-status.stopped .shield-dot{background:rgba(229,84,76,.18);color:#ffaaa4}
