/* Scoped repair: keep existing mobile navigation and stacked layout. */
#panel-scan {
  --form-label-size: 0.8125rem;
  --form-input-size: 0.9375rem;
  --form-space: 1rem;
}
#panel-scan .ocr-review-grid .field { min-width: 0; }
#panel-scan input, #panel-scan select { color: var(--color-text); }
#panel-scan #scan-choice .btn {
  color: var(--color-text);
  flex-direction: column;
  align-items: flex-start;
  gap: 0.375rem;
  white-space: normal;
}
#panel-scan #scan-choice .btn:hover { background: var(--color-bg) !important; }
#panel-scan #imgPreview img { width: 100%; max-height: 340px; object-fit: contain; border-radius: 8px; }
#panel-scan .extraction-source { font-size: 0.75rem; color: var(--color-primary); line-height: 1.45; }
#panel-scan .extraction-source.missing { color: var(--color-text-muted); }
/* 인식 근거 배지 — 확정(교차확인됨)과 확인 필요를 눈에 보이게 나눈다 */
#panel-scan .extraction-source.conf-ok { color: #0B6B3A; }
#panel-scan .extraction-source.conf-check { color: #8F5B0E; background: #FFF8EC; border-radius: 4px; padding: 1px 5px; display: inline-block; }
#panel-scan .label-result-note { font-size: 0.8125rem; line-height: 1.65; padding: 0.75rem; border: 1px solid var(--color-border); border-radius: 8px; overflow-wrap: anywhere; }
#panel-scan #progress { font-size: 0.8125rem; line-height: 1.6; overflow-wrap: anywhere; }
#scan-diagnostics { margin-top: 1rem; font-size: 0.8125rem; }
#scan-diagnostics summary { cursor: pointer; color: var(--color-text-muted); padding-block: 0.5rem; }
#scan-diagnostics #debugWrap { padding: 0.75rem; background: var(--color-bg); font: 0.75rem/1.6 monospace; max-height: 280px; overflow: auto; overflow-wrap: anywhere; }
#reg-scan-status { font-size: 0.8125rem; line-height: 1.6; }
.product-match { margin-top: 16px; padding: 16px; border: 1px solid var(--color-primary); border-radius: 10px; overflow-wrap: anywhere; }
.product-match h4 { font-size: 14px; margin: 0 0 10px; }
.product-match p, .product-match a { font-size: 12px; line-height: 1.65; white-space: pre-line; }
.product-match .lot-confirmation { display: flex; gap: 8px; align-items: flex-start; font-size: 12px; line-height: 1.6; margin: 16px 0; cursor: pointer; }
.product-match .lot-confirmation input { width: 18px !important; height: 18px; flex: 0 0 18px; margin-top: 2px; }
.product-match .product-apply { white-space: normal; margin-top: 12px; max-width: 100%; font-size: 13px; }
@media (min-width: 900px) {
  [data-theme='dark'] body.lab-manager-body { background: var(--color-bg); }
  #lab-body #panel-scan.panel.active {
    display: grid !important;
    grid-template-columns: minmax(260px, 0.8fr) minmax(0, 2fr);
    gap: 24px;
    max-width: 1440px;
    width: 100%;
    margin-inline: auto;
    padding: 28px 32px 48px;
    box-sizing: border-box;
    align-items: start;
  }
  #lab-body #panel-scan .scan-card { position: sticky; top: 132px; padding: 24px; min-width: 0; }
  #lab-body #panel-scan .form-card { min-width: 0; padding: 28px; }
  #panel-scan .card-title, #panel-scan #ocrReviewWrap > h4 { font-size: 1.125rem !important; color: var(--color-text) !important; margin-bottom: 12px !important; }
  #panel-scan .scan-intro { display: block; margin: 12px 0 0 !important; font-size: 0.8125rem !important; line-height: 1.65; }
  #panel-scan .review-intro { font-size: 0.8125rem !important; line-height: 1.6; margin-bottom: 24px !important; }
  #lab-body #panel-scan .ocr-review-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 24px;
    padding: 0 0 24px;
    border: 0;
    border-bottom: 1px solid var(--color-border);
    border-radius: 0;
    background: transparent;
  }
  #panel-scan #ocrReviewWrap > .row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px 16px;
    padding-top: 24px;
    align-items: start;
  }
  #panel-scan .field { gap: 8px; min-width: 0; }
  #panel-scan .field label { font-size: var(--form-label-size); line-height: 1.4; color: var(--color-text); }
  #panel-scan .field input, #panel-scan .field select {
    min-width: 0;
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    border-radius: 8px;
    font-size: var(--form-input-size);
    background: var(--color-surface);
    line-height: 1.4;
  }
  #panel-scan .actions { padding-top: 20px; border-top: 1px solid var(--color-border); margin-top: 24px !important; }
  #panel-scan #btnReviewSave { min-width: 120px; min-height: 44px; justify-content: center; }
  #panel-scan .warn { font-size: 0.8125rem; line-height: 1.6; margin-bottom: 0; }
  #lab-body .panel:not(#panel-scan) .field { min-width: 0; }
  #lab-body .panel:not(#panel-scan) .field input, #lab-body .panel:not(#panel-scan) .field select { min-height: 42px; }
}
@media (min-width: 900px) and (max-width: 1199px) {
  #lab-body #panel-scan.panel.active { padding: 20px 0 32px; grid-template-columns: 260px minmax(0, 1fr); gap: 16px; }
  #lab-body #panel-scan .scan-card, #lab-body #panel-scan .form-card { padding: 20px; }
  #panel-scan #ocrReviewWrap > .row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
