/* dencho 固有スタイル（Bootstrap 5 を前提に上書き） */

body {
  font-family: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
}

/* ============================================================
 * 要確認一覧
 * ============================================================ */

/* 一括承認バー */
.bulk-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.6rem 0.8rem;
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 0.375rem 0.375rem 0 0;
  border-bottom: 0;
  flex-wrap: wrap;
}
.bulk-actions .selected-info { color: #6c757d; font-size: 0.9rem; }
.bulk-actions .hint { margin-left: auto; font-size: 0.78rem; color: #6c757d; }

/* 要確認テーブル: ファイル名は等幅、理由は警告色、件数は右寄せ */
.review-table td.filename { font-family: ui-monospace, monospace; font-size: 0.82rem; }
.review-table td.reasons { color: #c2410c; font-size: 0.78rem; }
.review-table td.num { text-align: right; font-variant-numeric: tabular-nums; }
.review-table td.nowrap { white-space: nowrap; }

/* ============================================================
 * 詳細画面
 * ============================================================ */

/* slot ナビ（PDF 内の複数領収書を切り替え） */
.slot-nav {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  padding: 0.5rem 0.75rem;
  background: #eff6ff;
  border-radius: 0.375rem;
  margin: 0.75rem 0;
  flex-wrap: wrap;
}
.slot-nav a,
.slot-nav .slot-current {
  padding: 0.2rem 0.6rem;
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: 3px;
  font-size: 0.85rem;
  text-decoration: none;
}
.slot-nav .slot-current {
  background: #0d6efd;
  color: #fff;
  border-color: #0d6efd;
  font-weight: 600;
}

/* 詳細レイアウト: 左 PDF / 右 フォーム */
.layout {
  display: grid;
  grid-template-columns: 1fr 480px;
  gap: 1.5rem;
  margin-top: 1rem;
}
.layout .pdf {
  background: #fff;
  border-radius: 0.375rem;
  padding: 0.75rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.layout .pdf iframe {
  border: 1px solid #dee2e6;
  border-radius: 0.25rem;
}
.layout .form-pane {
  background: #fff;
  border-radius: 0.375rem;
  padding: 1rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
@media (max-width: 1100px) {
  .layout { grid-template-columns: 1fr; }
}

/* bbox オーバーレイ */
.preview-wrap {
  position: relative;
  display: inline-block;
  max-width: 100%;
}
.bbox-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

/* 変更履歴 */
.history summary { cursor: pointer; font-size: 0.85rem; color: #475569; }
.history ul { list-style: none; padding-left: 0; margin: 0.5rem 0 0 0; }
.history li {
  padding: 0.3rem 0;
  border-bottom: 1px solid #dee2e6;
  font-size: 0.78rem;
  color: #475569;
}
.history time { color: #94a3b8; margin-right: 0.5rem; }
.history strong { color: #1e293b; margin-right: 0.5rem; }
.history .action {
  background: #eff6ff;
  color: #1d4ed8;
  padding: 0 0.4rem;
  border-radius: 3px;
  margin-right: 0.5rem;
}
.history .field { color: #c2410c; }
.history code {
  background: #f1f5f9;
  padding: 0 0.3rem;
  border-radius: 3px;
  font-size: 0.78rem;
}
