/* ============================================================
   面接管理システム PC向けカスタムスタイル
   フォントはNoto Sans JP(ゴシック体)で統一
============================================================ */

* {
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Meiryo', sans-serif;
}

body {
  -webkit-font-smoothing: antialiased;
}

/* スクロールバーを控えめに */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}
::-webkit-scrollbar-track {
  background: transparent;
}

/* カードのホバー時の微細な浮き上がり */
.card-hover {
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.card-hover:hover {
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
  transform: translateY(-1px);
}

/* ステータスバッジ */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
}
.badge-scheduled { background: #dbeafe; color: #1d4ed8; }
.badge-interviewed { background: #fef3c7; color: #b45309; }
.badge-second_entry { background: #e0e7ff; color: #4338ca; }
.badge-offered { background: #dcfce7; color: #15803d; }
.badge-rejected { background: #f1f5f9; color: #64748b; }

/* 評価ボタン(5段階) */
.rating-btn {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  font-weight: 700;
  font-size: 16px;
  border: 2px solid #e2e8f0;
  color: #64748b;
  background: #fff;
  cursor: pointer;
  transition: all 0.12s ease;
}
.rating-btn:hover { border-color: #93c5fd; }
.rating-btn.active-S { background: #1e3a8a; color: #fff; border-color: #1e3a8a; }
.rating-btn.active-A { background: #2563eb; color: #fff; border-color: #2563eb; }
.rating-btn.active-B { background: #16a34a; color: #fff; border-color: #16a34a; }
.rating-btn.active-C { background: #d97706; color: #fff; border-color: #d97706; }
.rating-btn.active-D { background: #dc2626; color: #fff; border-color: #dc2626; }

/* トグル(有無)ボタン */
.toggle-group { display: inline-flex; border: 1px solid #e2e8f0; border-radius: 8px; overflow: hidden; }
.toggle-btn {
  padding: 6px 20px;
  font-size: 13px;
  font-weight: 500;
  background: #fff;
  color: #64748b;
  cursor: pointer;
  border: none;
  transition: all 0.12s ease;
}
.toggle-btn:not(:last-child) { border-right: 1px solid #e2e8f0; }
.toggle-btn.active { background: #2563eb; color: #fff; }
.toggle-btn.active-danger { background: #dc2626; color: #fff; }

/* セクション見出し */
.section-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  color: #334155;
  letter-spacing: 0.02em;
}

/* NGガイド警告カラー */
.ng-alert-item {
  border-left: 3px solid #dc2626;
  background: #fef2f2;
}

/* チェック済み行のフェード */
.checked-row {
  opacity: 0.55;
}

/* カンバンカラム */
.kanban-column {
  min-width: 260px;
  background: #f8fafc;
  border-radius: 12px;
  padding: 12px;
}

/* サイドバー選択中項目 */
.nav-item-active {
  background: #eff6ff;
  color: #1d4ed8;
  font-weight: 700;
  border-right: 3px solid #2563eb;
}

/* アニメーション */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}
.fade-in { animation: fadeIn 0.2s ease; }

/* テーブル行のゼブラ */
.table-row:hover { background: #f8fafc; }

/* フォーム入力の統一感 */
input[type="text"], input[type="number"], input[type="date"], input[type="datetime-local"], textarea, select {
  font-family: inherit;
}
