/* Finished editing: 2026-07-28 09:02 - v.29.91.3 visible scanner-area processing spinner */
/* Finished editing: 2026-07-27 17:35 - v.29.90.0 mobile-only native scanner controls */
/* Finished editing: 2026-07-27 15:50 - v.29.89.8 visible QR camera frame */
/* Finished editing: 2026-07-27 15:38 - v.29.89.7 fast shared camera and plate-aligned crop */
/* Finished editing: 2026-06-02 20:18 - v.23.72.16 standalone scanner styles prep */
body.aa-scanner-open,
body.aa-plate-reader-open {
  overflow: hidden !important;
}

.aa-scanner-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147483600;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: rgba(0, 0, 0, 0.84);
  -webkit-tap-highlight-color: transparent;
}

.aa-scanner-panel {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  padding: max(16px, env(safe-area-inset-top)) 16px max(18px, env(safe-area-inset-bottom));
}

.aa-scanner-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.aa-scanner-title {
  font: 900 17px/1.1 Arial, sans-serif;
  letter-spacing: 0;
}

.aa-scanner-close {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
  font: 900 23px/1 Arial, sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.aa-scanner-center {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

.aa-scanner-video-frame {
  position: relative;
  overflow: hidden;
  background: #050505;
  box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.16), 0 18px 48px rgba(0, 0, 0, 0.38);
}

.aa-scanner-video-frame video,
.aa-scanner-overlay > video,
.aa-scanner-freeze,
.aa-scanner-freeze-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #050505;
}

.aa-scanner-freeze,
.aa-scanner-freeze-canvas {
  display: none;
  z-index: 2;
}

.is-frozen .aa-scanner-freeze:not([hidden]),
.is-frozen .aa-scanner-freeze-canvas:not([hidden]) {
  display: block;
}

.aa-scanner-status {
  min-height: 24px;
  color: rgba(255, 255, 255, 0.9);
  font: 800 15px/1.3 Arial, sans-serif;
  text-align: center;
}

.aa-scanner-loader {
  position: absolute;
  inset: 0;
  z-index: 4;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.22);
  pointer-events: none;
}

.is-loading .aa-scanner-loader {
  display: flex;
}

.aa-scanner-loader::before {
  content: "";
  width: 42px;
  height: 42px;
  border: 4px solid rgba(255, 255, 255, 0.28);
  border-top-color: #fff;
  border-radius: 999px;
  animation: aaScannerSpinV237216 0.72s linear infinite;
}

@keyframes aaScannerSpinV237216 {
  to { transform: rotate(360deg); }
}

.aa-scanner-plate-frame {
  width: min(90vw, 430px);
  aspect-ratio: 1.24 / 1;
  border-radius: 14px;
}

.aa-scanner-plate-box {
  position: absolute;
  left: 4%;
  right: 4%;
  top: 38%;
  height: 24%;
  z-index: 3;
  border: 4px solid rgba(255, 255, 255, 0.95);
  border-radius: 12px;
  box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.18), 0 0 18px rgba(40, 167, 69, 0.28);
  pointer-events: none;
}

.aa-scanner-native-choice {
  width: min(58vw, 220px);
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.3);
}

.aa-scanner-native-choice svg {
  width: 46%;
  height: 46%;
  fill: currentColor;
}

.aa-scanner-actions {
  width: min(90vw, 430px);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.aa-scanner-action {
  height: 70px;
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 12px;
  color: #fff;
  background: #28a745;
  font: 900 20px/1 Arial, sans-serif;
  letter-spacing: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 16px;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28);
}

.aa-scanner-action svg {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  fill: currentColor;
}

.aa-scanner-action-secondary {
  background: rgba(255, 255, 255, 0.14);
}

.aa-scanner-action:disabled {
  opacity: 0.55;
  pointer-events: none;
}

#bigSearchContent.is-aa-scanner-processing-v299103.is-aa-vehicle-search-resolving-v298905 > .aa-search-scan-actions {
  position: relative;
  min-height: 72px;
}

#bigSearchContent.is-aa-scanner-processing-v299103.is-aa-vehicle-search-resolving-v298905 > .aa-search-scan-actions > .aa-search-scan-btn {
  visibility: hidden !important;
  pointer-events: none !important;
}

#bigSearchContent.is-aa-scanner-processing-v299103.is-aa-vehicle-search-resolving-v298905 > .aa-search-scan-actions::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 34px;
  height: 34px;
  margin: auto;
  box-sizing: border-box;
  border: 4px solid rgba(40, 167, 69, 0.22);
  border-top-color: #28a745;
  border-radius: 999px;
  animation: aaScannerSpinV237216 0.65s linear infinite;
}

.aa-scanner-qr-frame {
  width: min(78vw, 340px);
  aspect-ratio: 1 / 1;
  border-radius: 18px;
  background: transparent;
}

.aa-scanner-qr-chip {
  max-width: 92vw;
  padding: 10px 14px;
  border-radius: 12px;
  color: #fff;
  background: rgba(255, 255, 255, 0.15);
  font-weight: 800;
  text-align: center;
}

.aa-scanner-qr-corner {
  position: absolute;
  width: 28px;
  height: 28px;
  border: 3px solid rgba(255, 255, 255, 0.94);
  border-radius: 7px;
}

.aa-scanner-qr-corner.tl { top: 10px; left: 10px; border-right: 0; border-bottom: 0; }
.aa-scanner-qr-corner.tr { top: 10px; right: 10px; border-left: 0; border-bottom: 0; }
.aa-scanner-qr-corner.bl { bottom: 10px; left: 10px; border-right: 0; border-top: 0; }
.aa-scanner-qr-corner.br { bottom: 10px; right: 10px; border-left: 0; border-top: 0; }

.aa-scanner-qr-scanline {
  position: absolute;
  left: 12px;
  right: 12px;
  height: 3px;
  border-radius: 999px;
  background: rgba(0, 255, 140, 0.95);
  box-shadow: 0 0 14px rgba(0, 255, 140, 0.7);
  animation: aaScannerQrScanV237216 1.8s linear infinite;
}

@keyframes aaScannerQrScanV237216 {
  0% { top: 12px; }
  50% { top: calc(100% - 15px); }
  100% { top: 12px; }
}

@media (orientation: portrait) {
  .aa-scanner-center { justify-content: flex-start; gap: 14px; padding-top: 8px; }
  .aa-scanner-plate-frame { width: min(92vw, 440px); aspect-ratio: 1.28 / 1; }
  .aa-scanner-plate-box { left: 4%; right: 4%; top: 38%; height: 24%; }
  .aa-scanner-actions { width: min(92vw, 440px); gap: 10px; }
  .aa-scanner-action { height: 74px; font-size: 18px; }
}

@media (hover: hover) and (pointer: fine) {
  [data-aa-plate-reader],
  [data-aa-qr],
  #bigSearchContent > .aa-search-scan-actions,
  [data-aa-app-shell] .aa-search-scan-actions {
    display: none !important;
  }
}
