/* 全画面でスワイプ更新（プルダウンリロード）だけ禁止 */
html, body {
  overscroll-behavior-y: none;
  touch-action: pan-y;
  margin: 0;
  padding: 0;
  background: #f5f6f7;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;
  height: 100%;
}

/* 各ページを画面いっぱいに広げる */
.page {
  display: none;
  padding: 0px;   /* ← 上下の余白を消す！左右だけ残す */
  height: 100vh;
  overflow: hidden; /* ← ページ全体はスクロールさせない */
  box-sizing: border-box;
}

/* カード系 */
.header-box, .last-item, .item {
  background: #fff;
  border-radius: 12px;
  padding: 16px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
  margin-bottom: 20px;
}

#header-fixed {
  margin-bottom: 0;
  padding-bottom: 0;
}


/* ボタン */
button {
  width: 100%;
  padding: 16px;
  font-size: 18px;
  border: none;
  border-radius: 10px;
  background: #2d6cdf;
  color: #fff;
  margin-top: 15px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.15);
}

button.sub {
  background: #e5e7eb;
  color: #333;
}

/* 指示番号スキャン用カメラ */
#pickid-area {
  width: 100%;
  height: 260px;
  background: #d9d9d9;
  border-radius: 12px;
  margin-bottom: 20px;
}


/* 商品スキャン画面の小さめカメラ枠 */
#item-area.camera-large,
.camera-large {
  width: 100%;
  height: 260px; /* ← ここが超重要 */
  background: transparent; /* ← 黒背景を消す */
  border-radius: 12px;
  margin: 0 auto 10px auto;
  overflow: visible; /* ← hidden を visible に */
  position: relative;
  border: 2px solid #FFD700;
}

.camera-large video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  position: absolute;
  top: 0;
  left: 0;
}



/* フラッシュ */
#flash {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: white;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.1s ease;
  z-index: 9999;
}

/* 商品一覧（メイン画面） */
#itemListContainer {
  overflow-y: auto;
  max-height: calc(100vh - 180px);
  -webkit-overflow-scrolling: touch;
}

/* 商品スキャン画面の商品一覧（ここだけスクロール） */
#scan-item h2 {
  margin-top: 0px;
  margin-bottom: 5px;
}
#scanItemListContainer {
  overflow-y: auto;
  height: auto;   /* ← これだけでOK */
  max-height: calc(100vh - 350px); 
  -webkit-overflow-scrolling: touch;
}

/* 未検品の赤文字 */
.item .missing {
  color: #d93025;
  font-weight: bold;
}

/* 検品済みの薄い表示 */
.item.ok {
  color: #888;
}

/* スキャン時のハイライト */
.highlight {
  background: #fffa9c;
  transition: background 0.8s ease;
}

#missingList {
  overflow-y: auto;
  max-height: calc(100vh - 200px); /* 固定バナー＋戻るボタン分を引く */
  -webkit-overflow-scrolling: touch;
}

video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
