/* HoloRyn TCG v3.32.8 launch scanner geometry.
   Loaded after app.css. The live camera shell is measured once by app.js and
   remains fixed while iPhone browser chrome appears, disappears or scrolls. */
.camera-modal .camera-guide{box-sizing:border-box!important;overflow:visible!important}
.camera-modal.mode-slab .camera-guide,.preview-guide.mode-slab{aspect-ratio:80/134!important;border-radius:20px!important}

/* Use almost the complete width and height for the physical slab. */
.camera-modal.inline-camera{scroll-margin-top:2px!important;overscroll-behavior:contain!important}
.camera-modal.inline-camera .camera-shell{
  --camera-fixed-height:690px;
  position:relative!important;
  width:100%!important;
  height:var(--camera-fixed-height)!important;
  min-height:var(--camera-fixed-height)!important;
  max-height:var(--camera-fixed-height)!important;
  overflow:hidden!important;
  touch-action:manipulation!important;
  contain:layout paint!important;
}
.camera-modal.inline-camera .camera-guide{transition:none!important;animation:none!important}
.camera-modal.inline-camera.mode-slab .camera-guide{border-width:3px!important}

/* Complete label first; grade and certificate are subregions of this crop. */
.mode-slab .guide-label-region{
  box-sizing:border-box!important;
  left:2%!important;
  right:2%!important;
  top:.4%!important;
  height:29.2%!important;
  border-width:3px!important;
  border-radius:11px!important;
}
.mode-slab .guide-card-region{
  box-sizing:border-box!important;
  left:7%!important;
  right:7%!important;
  top:30.2%!important;
  bottom:4.2%!important;
  border-width:3px!important;
  border-radius:11px!important;
}
.mode-slab .guide-name-region{left:10%!important;right:16%!important;top:31.5%!important;height:8.5%!important}
.mode-slab .guide-number-left-region,.mode-slab .guide-number-right-region{bottom:5%!important;height:8.5%!important}
.guide-label-region .guide-grade-zone,.guide-label-region .guide-cert-zone{
  position:absolute;display:block;box-sizing:border-box;pointer-events:none;
  border:2px dashed rgba(255,255,255,.72);border-radius:7px;background:rgba(255,255,255,.025)
}
.guide-label-region .guide-grade-zone{left:57.5%;top:2%;width:40.5%;height:76%}
.guide-label-region .guide-cert-zone{left:3%;right:2%;bottom:1%;height:54%;border-color:rgba(255,255,255,.52)}

/* The title paragraph is not needed once the live guide is visible. Removing it
   releases the bottom space to the slab instead of placing text over the camera. */
.camera-modal.inline-camera .camera-copy{display:none!important}
.camera-modal.inline-camera .camera-tap-hint{
  position:absolute!important;left:8px!important;right:8px!important;top:auto!important;bottom:2px!important;
  width:auto!important;transform:none!important;margin:0!important;padding:4px 8px!important;
  text-align:center!important;pointer-events:none!important;z-index:18!important;font-size:11.5px!important;line-height:1.15!important
}
.camera-modal.inline-camera .camera-controls{left:8px!important;right:8px!important;bottom:2px!important;justify-content:center!important;pointer-events:none!important;z-index:19!important}
.camera-modal.inline-camera .camera-controls .camera-control{pointer-events:auto!important}
.camera-modal.inline-camera .camera-status{pointer-events:none!important}
.camera-modal.inline-camera + .capture-choice.inline-camera-fallback{margin-top:4px!important}
.capture-choice.inline-camera-fallback .upload-zone.compact{padding:10px 12px!important;margin-top:2px!important}
#takeGuidedPhoto,.camera-shutter{display:none!important}

@media(max-width:480px){
  .camera-modal.inline-camera .camera-shell{--camera-fixed-height:670px}
  .camera-modal.inline-camera.mode-slab .guide-label-region b,
  .camera-modal.inline-camera.mode-slab .guide-card-region b{font-size:10px!important;line-height:1.05!important}
}

/* v3.32.8 — remove the hatched dead area from both live scanners. */
.camera-modal.inline-camera .camera-shell{
  height:var(--camera-fixed-height)!important;
  min-height:var(--camera-fixed-height)!important;
  max-height:var(--camera-fixed-height)!important;
}
.camera-modal.inline-camera .camera-tap-hint{
  top:var(--camera-hint-top)!important;
  bottom:auto!important;
  min-height:38px!important;
  height:38px!important;
  padding:3px 8px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
}
.camera-modal.inline-camera .camera-controls{
  top:var(--camera-hint-top)!important;
  bottom:auto!important;
  min-height:38px!important;
  height:38px!important;
  align-items:center!important;
}
.camera-modal.inline-camera .camera-shell.camera-paused .camera-tap-hint{display:none!important}
.camera-modal.inline-camera + .capture-choice.inline-camera-fallback{margin-top:2px!important}
