/* Veridex Upload & Scan — unified engineering workbench.
 *
 * Presentation only. Existing upload, package, extraction, datasheet and model
 * controllers remain authoritative. Every colour comes from the shared theme
 * tokens so light/dark mode cannot drift into a second page palette.
 */

html body:has(#page-upload.vxw-page.active){
  overflow:hidden!important;
  --vx-upload-footer-h:28px;
}
html body:has(#page-upload.vxw-page.active) .vx-page-area{
  padding-top:0!important;width:100%!important;height:100vh!important;
  min-height:100vh!important;overflow:hidden!important;
}
html body:has(#page-upload.vxw-page.active) .main{
  width:100%!important;height:100vh!important;min-height:0!important;
  padding:0!important;overflow:hidden!important;
}
html body:has(#page-upload.vxw-page.active) .app-footer{
  display:flex!important;position:fixed!important;left:0!important;right:0!important;
  bottom:0!important;height:var(--vx-upload-footer-h)!important;
  min-height:var(--vx-upload-footer-h)!important;margin:0!important;
  padding:0 16px!important;align-items:center!important;justify-content:center!important;
  z-index:1200!important;box-sizing:border-box!important;
  border-top:1px solid var(--border)!important;background:var(--surface2)!important;
  font-family:var(--font-body,'IBM Plex Sans',sans-serif)!important;
  font-size:var(--fs-2)!important;color:var(--text3)!important;
}

html body #app-shell #page-upload.vxw-page.active{
  position:fixed!important;inset:var(--vx2-topbar-h,52px) 0 var(--vx-upload-footer-h) 0!important;
  z-index:1100!important;display:flex!important;flex-direction:column!important;
  width:auto!important;height:auto!important;min-height:0!important;max-width:none!important;
  margin:0!important;padding:0!important;overflow:hidden!important;
  background:var(--surface)!important;color:var(--text)!important;
  font-family:var(--font-body,'IBM Plex Sans',sans-serif)!important;
  font-size:var(--fs-4)!important;line-height:var(--lh-body,1.55)!important;
}
#page-upload.vxw-page *{box-sizing:border-box;}
#page-upload.vxw-page>.page-header{display:none!important;}

/* The platform already shows the canonical five-stage Extraction journey.
   The legacy per-page guided strip is useful elsewhere, but on Upload it is a
   second progress model ("2 of 3 done") and contradicts the accepted journey. */
#page-upload #upload-drawing-flow{display:none!important;}


/* Context and journey use the same flat hierarchy as Criteria. */
html body #page-upload.vxw-page.active>.vxw-stage-head{
  order:0!important;flex:0 0 42px!important;width:100%!important;max-width:none!important;
  min-height:42px!important;margin:0!important;padding:0 14px!important;
  display:flex!important;align-items:center!important;border:0!important;
  border-bottom:1px solid var(--border)!important;background:var(--surface)!important;
  box-shadow:none!important;
}
#page-upload .vxw-stage-copy{
  display:flex!important;align-items:center!important;gap:12px!important;min-width:0!important;
}
#page-upload .vxw-breadcrumb{
  margin:0!important;font-size:var(--fs-3)!important;font-weight:500!important;
  color:var(--accent)!important;white-space:nowrap!important;
}
#page-upload .vxw-stage-sub{
  margin:0!important;max-width:760px!important;font-size:var(--fs-3)!important;
  line-height:var(--lh-tight,1.3)!important;color:var(--text2)!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
#page-upload .vxw-stage-meta{padding:0!important;font-size:var(--fs-2)!important;}
#page-upload .vxw-chip{font-size:var(--fs-2)!important;}

html body #page-upload.vxw-page.active>.vx-flow{
  order:1!important;flex:0 0 54px!important;width:100%!important;max-width:none!important;
  min-height:54px!important;margin:0!important;position:relative!important;z-index:3!important;
}
#page-upload .vx-flow-bar{
  height:54px!important;min-height:54px!important;border:0!important;
  border-bottom:1px solid var(--border2)!important;border-radius:0!important;
  background:var(--surface)!important;box-shadow:none!important;
}
#page-upload .vx-flow-step{
  min-height:54px!important;padding:0 20px!important;border-right:1px solid var(--border)!important;
  border-radius:0!important;background:var(--surface)!important;
}
#page-upload .vx-flow-step.current{background:var(--accent-light)!important;}
#page-upload .vx-flow-num{
  width:21px!important;min-width:21px!important;height:21px!important;
  font-size:var(--fs-2)!important;font-weight:500!important;
}
#page-upload .vx-flow-title{font-size:var(--fs-3)!important;font-weight:500!important;}
#page-upload .vx-flow-sub{font-size:var(--fs-2)!important;line-height:var(--lh-tight,1.3)!important;}

/* One continuous workbench — execution surface + right engineering context. */
html body #page-upload.vxw-page.active>.vxw-layout.vxw-upload-workbench{
  order:2!important;flex:1 1 auto!important;display:grid!important;
  grid-template-columns:minmax(0,1fr) 368px!important;gap:0!important;
  width:100%!important;max-width:none!important;min-height:0!important;height:auto!important;
  margin:0!important;overflow:hidden!important;align-items:stretch!important;
  border:0!important;background:var(--surface)!important;
}
#page-upload .vxw-main{
  min-width:0!important;min-height:0!important;height:100%!important;overflow:hidden!important;
  display:flex!important;flex-direction:column!important;
  border-right:1px solid var(--border2)!important;background:var(--surface)!important;
}
#page-upload .vxw-upload-inspector{
  position:relative!important;top:auto!important;display:flex!important;flex-direction:column!important;
  width:100%!important;height:100%!important;min-height:0!important;max-height:none!important;
  margin:0!important;border:0!important;border-radius:0!important;background:var(--surface)!important;
  box-shadow:none!important;overflow:hidden!important;
}
#page-upload .vxw-upload-inspector-head{
  flex:0 0 49px!important;display:flex!important;align-items:center!important;padding:8px 12px!important;
  border-bottom:1px solid var(--border)!important;background:var(--surface)!important;
}
#page-upload .vxw-upload-inspector-head strong{display:block!important;font-size:var(--fs-4)!important;font-weight:500!important;color:var(--text)!important;}
#page-upload .vxw-upload-inspector-head span{display:block!important;margin-top:1px!important;font-size:var(--fs-2)!important;color:var(--text3)!important;}
#page-upload .vxw-upload-inspector-scroll{flex:1 1 auto!important;min-height:0!important;overflow:auto!important;}
#page-upload .vxw-upload-inspector-scroll[hidden]{display:none!important;}
/* Stage | Drawing — the Drawing tab exists only while one drawing is selected,
   and is named "Drawing" (its file name is inside). */
#page-upload .vxw-upload-tabs{
  flex:0 0 auto!important;display:flex!important;align-items:stretch!important;min-width:0!important;
  border-bottom:1px solid var(--border)!important;background:var(--surface2)!important;
}
#page-upload .vxw-upload-tab-drawing{display:flex!important;align-items:stretch!important;min-width:0!important;flex:0 0 auto!important;}
#page-upload .vxw-upload-tab-drawing[hidden]{display:none!important;}
#page-upload .vxw-upload-tab{
  position:relative!important;min-width:0!important;padding:8px 12px!important;border:0!important;
  border-right:1px solid var(--border)!important;border-radius:0!important;background:transparent!important;
  color:var(--text2)!important;font-size:var(--fs-2)!important;font-weight:500!important;cursor:pointer!important;
  box-shadow:none!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
#page-upload .vxw-upload-tab-drawing .vxw-upload-tab{flex:0 0 auto!important;border-right:0!important;}
#page-upload .vxw-upload-tab:hover{background:var(--surface)!important;color:var(--text)!important;}
#page-upload .vxw-upload-tab.active{background:var(--surface)!important;color:var(--accent)!important;}
#page-upload .vxw-upload-tab.active::after{
  content:''!important;position:absolute!important;left:0!important;right:0!important;bottom:-1px!important;
  height:2px!important;background:var(--accent)!important;
}
#page-upload .vxw-upload-tab-close{
  flex:0 0 auto!important;width:30px!important;border:0!important;border-left:1px solid var(--border)!important;
  border-radius:0!important;background:transparent!important;color:var(--text3)!important;
  font-size:var(--fs-4)!important;line-height:1!important;cursor:pointer!important;box-shadow:none!important;
}
#page-upload .vxw-upload-tab-close:hover{color:var(--text)!important;background:var(--surface)!important;}
#page-upload .vxw-upload-pane{padding:11px 12px!important;}
#page-upload .vxw-upload-inspector-title{
  margin:0 0 8px!important;font-size:var(--fs-2)!important;font-weight:500!important;
  text-transform:uppercase!important;letter-spacing:.055em!important;color:var(--text3)!important;
}
#page-upload .vxw-upload-inspector-title.secondary{margin-top:16px!important;padding-top:12px!important;border-top:1px solid var(--border)!important;}
#page-upload .vxw-upload-intro{margin:0 0 10px!important;font-size:var(--fs-3)!important;line-height:1.48!important;color:var(--text2)!important;}
#page-upload .vxw-upload-facts{margin:0!important;border-top:1px solid var(--border)!important;}
#page-upload .vxw-upload-facts>div{
  display:grid!important;grid-template-columns:82px minmax(0,1fr)!important;gap:8px!important;
  padding:8px 0!important;border-bottom:1px solid var(--border)!important;
}
#page-upload .vxw-upload-facts dt{font-size:var(--fs-2)!important;color:var(--text3)!important;}
#page-upload .vxul-score-facts>div{grid-template-columns:minmax(0,1fr) auto!important;}
#page-upload .vxw-upload-facts dd{margin:0!important;font-size:var(--fs-3)!important;color:var(--text)!important;text-align:right!important;}
#page-upload .vxw-upload-action-scope>div{padding:8px 0!important;border-bottom:1px solid var(--border)!important;}
#page-upload .vxw-upload-action-scope strong{display:block!important;font-size:var(--fs-3)!important;font-weight:500!important;color:var(--text)!important;}
#page-upload .vxw-upload-action-scope span{display:block!important;margin-top:2px!important;font-size:var(--fs-2)!important;line-height:1.4!important;color:var(--text3)!important;}
#page-upload .vxw-upload-handoff{
  margin-top:14px!important;padding:10px 0!important;border-top:1px solid var(--border2)!important;
  border-bottom:1px solid var(--border2)!important;
}
#page-upload .vxw-upload-handoff strong{display:block!important;font-size:var(--fs-3)!important;font-weight:500!important;color:var(--text)!important;}
#page-upload .vxw-upload-handoff span{display:block!important;margin-top:4px!important;font-size:var(--fs-3)!important;line-height:1.48!important;color:var(--text2)!important;}
#page-upload .vxw-upload-inspector-footer{
  flex:0 0 auto!important;display:flex!important;gap:7px!important;padding:8px 10px!important;
  border-top:1px solid var(--border)!important;background:var(--surface2)!important;
}
#page-upload .vxw-upload-inspector-footer .btn{flex:1 1 auto!important;border-radius:2px!important;box-shadow:none!important;font-size:var(--fs-3)!important;}

/* Kind / project is a toolbar, not a dashboard card. */
#page-upload .vxw-upload-toolbar{
  flex:0 0 44px!important;min-height:44px!important;margin:0!important;padding:0 12px!important;
  display:flex!important;align-items:center!important;gap:10px!important;
  border:0!important;border-bottom:1px solid var(--border)!important;border-radius:0!important;
  background:var(--surface)!important;box-shadow:none!important;
}
#page-upload .vxw-upload-toolbar .rv-tb-label,
#page-upload .upload-kind-project-label{
  font-size:var(--fs-2)!important;font-weight:500!important;color:var(--text3)!important;
  text-transform:uppercase!important;letter-spacing:.045em!important;
}
#page-upload .vxw-upload-toolbar .vx-seg{
  min-height:30px!important;border-color:var(--border-control)!important;background:var(--surface)!important;
}
#page-upload .vxw-upload-toolbar .vx-seg-opt{
  min-height:28px!important;padding:5px 10px!important;color:var(--text2)!important;background:var(--surface)!important;
}
#page-upload .vxw-upload-toolbar .vx-seg-opt.on{
  color:var(--on-fill)!important;background:var(--accent)!important;
}
#page-upload .upload-kind-project{
  margin-left:auto!important;display:flex!important;align-items:center!important;gap:8px!important;
}
#page-upload .upload-kind-project select{
  min-width:220px!important;max-width:330px!important;height:30px!important;
  padding:4px 28px 4px 9px!important;border:1px solid var(--border-control)!important;border-radius:2px!important;
  background:var(--surface)!important;color:var(--text)!important;font-size:var(--fs-3)!important;
}

/* Drawing execution surface. */
#page-upload #upload-drawings-controls{
  flex:1 1 auto!important;min-height:0!important;display:flex;flex-direction:column;
  overflow:hidden!important;background:var(--surface)!important;
}
#page-upload #upload-survey-handoff{
  flex:0 0 auto!important;margin:0!important;border-bottom:1px solid var(--border)!important;
}
#page-upload #upload-survey-handoff>.card{
  margin:0!important;padding:8px 12px!important;border:0!important;border-radius:0!important;
  background:var(--accent-dim2)!important;box-shadow:none!important;
}
#page-upload .upload-split{
  flex:1 1 auto!important;display:grid!important;grid-template-columns:300px minmax(0,1fr)!important;
  gap:0!important;min-height:0!important;height:100%!important;margin:0!important;
  align-items:stretch!important;overflow:hidden!important;background:var(--surface)!important;
}
#page-upload .upload-side{
  position:relative!important;top:auto!important;display:flex!important;flex-direction:column!important;
  min-width:0!important;min-height:0!important;height:100%!important;padding:12px!important;
  border-right:1px solid var(--border)!important;border-radius:0!important;
  background:var(--surface2)!important;overflow:hidden!important;
}
#page-upload .upload-main{
  min-width:0!important;min-height:0!important;height:100%!important;border-radius:0!important;
  background:var(--surface)!important;overflow:hidden!important;
}
#page-upload .upload-side>.drop-zone{
  flex:0 0 auto!important;min-height:126px!important;margin:0 0 12px!important;padding:18px 12px!important;
  border:1px dashed var(--border-control)!important;border-radius:2px!important;
  background:var(--surface)!important;box-shadow:none!important;
}
#page-upload .upload-side>.drop-zone:hover,
#page-upload .upload-side>.drop-zone.drag-over{
  border-color:var(--accent)!important;background:var(--accent-dim2)!important;
}
#page-upload .drop-icon{font-size:var(--fs-7)!important;color:var(--accent)!important;line-height:1!important;}
#page-upload .drop-title{
  margin-top:6px!important;margin-bottom:2px!important;font-size:var(--fs-4)!important;
  line-height:1.3!important;font-weight:500!important;color:var(--text)!important;
}
#page-upload .drop-sub{font-size:var(--fs-2)!important;line-height:1.4!important;color:var(--text3)!important;}
#page-upload .upload-side>label{
  flex:0 0 auto!important;margin:0!important;padding:0 0 6px!important;
  font-size:var(--fs-2)!important;color:var(--text3)!important;
  text-transform:uppercase!important;letter-spacing:.045em!important;
}
#page-upload .upload-side #upload-tree-host{
  flex:1 1 auto!important;min-height:0!important;max-height:none!important;margin:0!important;
  overflow:auto!important;white-space:nowrap!important;
}
#page-upload .vx-tp{
  max-height:none!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;
}
#page-upload .vx-tp-root,
#page-upload .vx-tp-node,
#page-upload .vx-tp-pkg{border-bottom:1px solid var(--border)!important;border-radius:0!important;}
#page-upload .vx-tp-pkg:hover{background:var(--surface)!important;}
#page-upload .vx-tp-pkg-sel{
  background:var(--accent-light)!important;box-shadow:inset 3px 0 0 var(--accent)!important;
}
#page-upload .vx-tp-pkg-detail{
  padding:6px 4px 8px!important;border-bottom:1px solid var(--border)!important;
  color:var(--text2)!important;font-size:var(--fs-2)!important;white-space:normal!important;
}

/* Package list area mirrors the Results table hierarchy. */
#page-upload #upload-drawings-section{
  height:100%!important;min-height:0!important;padding:0!important;
  background:var(--surface)!important;
}
#page-upload #upload-drawings-section[style*="display: block"]{
  display:flex!important;flex-direction:column!important;
}
#page-upload #upload-drawings-section>div:first-child{
  flex:0 0 44px!important;min-height:44px!important;margin:0!important;padding:0 10px!important;
  border-bottom:1px solid var(--border)!important;background:var(--surface)!important;
}
#page-upload #upload-drawings-label{
  font-size:var(--fs-3)!important;font-weight:500!important;color:var(--text)!important;
}
#page-upload #upload-drawings-section .btn{
  min-height:29px!important;padding:4px 9px!important;border-radius:2px!important;
  box-shadow:none!important;font-size:var(--fs-2)!important;
}
#page-upload #upload-drawings-list{
  flex:1 1 auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;
  padding:10px!important;overflow:hidden!important;background:var(--surface)!important;
}
#page-upload #upload-drawings-list>.card{
  margin:0!important;border:1px solid var(--border)!important;border-radius:0!important;
  background:var(--surface)!important;color:var(--text2)!important;box-shadow:none!important;
}
#page-upload #vxul-rail{flex:0 0 auto!important;}
#page-upload #vxul-detail{flex:0 0 auto!important;}
#page-upload #vxul-panel{flex:0 0 auto!important;}
#page-upload .vxul-wrap{
  flex:1 1 auto!important;min-height:0!important;max-height:none!important;margin:0!important;
  overflow:auto!important;border:1px solid var(--border)!important;border-radius:0!important;
  background:var(--surface)!important;
}
#page-upload .vxul-tbl{font-size:var(--fs-3)!important;background:var(--surface)!important;}
#page-upload .vxul-tbl th{
  position:sticky!important;top:0!important;z-index:2!important;height:38px!important;
  padding:7px 9px!important;border:0!important;border-bottom:1px solid var(--border2)!important;
  background:var(--surface2)!important;color:var(--text2)!important;font-size:var(--fs-2)!important;font-weight:500!important;
}
#page-upload .vxul-tbl td{
  min-height:40px!important;padding:7px 9px!important;border-top:0!important;
  border-bottom:1px solid var(--border)!important;background:var(--surface)!important;
  color:var(--text2)!important;
}
#page-upload .vxul-tbl tr[data-vx-row]:hover td{background:var(--surface2)!important;}
/* The drawing whose tab is open on the right is marked in the list. */
#page-upload .vxul-tbl tr.is-selected td{background:var(--accent-light)!important;}
#page-upload .vxul-tbl tr.is-selected td:first-child{box-shadow:inset 3px 0 0 var(--accent)!important;}
#page-upload .vxul-tbl tr.selected td,
#page-upload .vxul-tbl tr[data-selected="true"] td{
  background:var(--accent-light)!important;
}
#page-upload .vxul-pending{
  border:1px solid var(--amber)!important;border-radius:2px!important;
  background:var(--amber-light)!important;color:var(--text)!important;
}
#page-upload .vxul-fail{background:var(--red-light)!important;color:var(--text2)!important;}
#page-upload .vxul-panel-b{
  border-color:var(--border)!important;border-radius:2px!important;background:var(--surface2)!important;
}

/* Datasheet and model modes retain their controllers but use the same surface. */
#page-upload #upload-datasheets-controls,
#page-upload #upload-models-controls{
  flex:1 1 auto!important;min-height:0!important;padding:14px!important;overflow:auto!important;
  background:var(--surface)!important;
}
#page-upload #upload-datasheets-controls .profile-select-row,
#page-upload #upload-models-controls .profile-select-row{
  margin:0 0 12px!important;padding:0 0 12px!important;border-bottom:1px solid var(--border)!important;
}
#page-upload #upload-datasheets-controls label,
#page-upload #upload-models-controls label{
  font-size:var(--fs-2)!important;color:var(--text3)!important;
}
#page-upload #upload-datasheets-controls select,
#page-upload #upload-models-controls select{
  min-height:32px!important;border:1px solid var(--border-control)!important;border-radius:2px!important;
  background:var(--surface)!important;color:var(--text)!important;
}
#page-upload #upload-ds-drop-zone,
#page-upload #upload-mdl-drop-zone{
  min-height:150px!important;margin:0!important;padding:22px!important;
  border:1px dashed var(--border-control)!important;border-radius:2px!important;
  background:var(--surface2)!important;
}
#page-upload .up-ds-row{
  border:1px solid var(--border)!important;border-radius:0!important;background:var(--surface)!important;
}
#page-upload .up-ds-prof-chip{background:var(--accent-dim)!important;color:var(--text2)!important;}
#page-upload #upload-ds-recent-section,
#page-upload #upload-mdl-recent-section{margin-top:14px!important;}

/* Inputs/buttons inherit the platform theme instead of browser-light defaults. */
#page-upload input,
#page-upload select,
#page-upload textarea,
#page-upload button{color-scheme:inherit;}
#page-upload input:not([type="checkbox"]):not([type="radio"]),
#page-upload select,
#page-upload textarea{
  background:var(--surface)!important;color:var(--text)!important;border-color:var(--border-control)!important;
}
#page-upload option{background:var(--surface)!important;color:var(--text)!important;}

@media(max-width:1180px){
  html body:has(#page-upload.vxw-page.active){overflow:auto!important;}
  html body:has(#page-upload.vxw-page.active) .vx-page-area,
  html body:has(#page-upload.vxw-page.active) .main{height:auto!important;min-height:100vh!important;overflow:visible!important;}
  html body #app-shell #page-upload.vxw-page.active{
    position:relative!important;inset:auto!important;height:auto!important;overflow:visible!important;
  }
  html body #page-upload.vxw-page.active>.vxw-layout.vxw-upload-workbench{
    grid-template-columns:1fr!important;height:auto!important;overflow:visible!important;
  }
  #page-upload .vxw-main,
  #page-upload #upload-drawings-controls,
  #page-upload .upload-split,
  #page-upload .upload-side,
  #page-upload .upload-main,
  #page-upload #upload-drawings-section,
  #page-upload #upload-drawings-list{height:auto!important;overflow:visible!important;}
  #page-upload .upload-split{grid-template-columns:1fr!important;}
  #page-upload .upload-side{border-right:0!important;border-bottom:1px solid var(--border)!important;}
  #page-upload .upload-side #upload-tree-host{max-height:360px!important;overflow:auto!important;}
  #page-upload .vxul-wrap{max-height:560px!important;overflow:auto!important;}
  #page-upload .vxw-guide{border-top:1px solid var(--border)!important;}
}
@media(max-width:760px){
  #page-upload .vxw-upload-toolbar{height:auto!important;min-height:44px!important;flex-wrap:wrap!important;padding:8px 10px!important;}
  #page-upload .upload-kind-project{width:100%!important;margin-left:0!important;}
  #page-upload .upload-kind-project select{width:100%!important;max-width:none!important;min-width:0!important;}
  #page-upload .vx-flow-step{padding:0 10px!important;}
  #page-upload .vx-flow-sub{display:none!important;}
}
