/* ============ 業務ツール風 補助スタイル ============ */

.nav-btn {
  color: #cbd5e1;
}
.nav-btn:hover {
  background-color: rgba(148, 163, 184, 0.12);
  color: #fff;
}
.nav-btn.active {
  background-color: #3563eb;
  color: #fff;
  font-weight: 600;
}

/* フォーム共通 */
.field-label {
  font-size: 12px;
  font-weight: 600;
  color: #475569;
  margin-bottom: 4px;
  display: block;
}
.field-input,
.field-textarea,
.field-select {
  width: 100%;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 13px;
  background: #fff;
  transition: border-color .15s, box-shadow .15s;
}
.field-input:focus,
.field-textarea:focus,
.field-select:focus {
  outline: none;
  border-color: #3563eb;
  box-shadow: 0 0 0 3px rgba(53, 99, 235, .15);
}
.field-textarea {
  resize: vertical;
  min-height: 70px;
  line-height: 1.5;
}

/* ボタン */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  padding: 8px 14px;
  border-radius: 8px;
  cursor: pointer;
  transition: all .15s;
  border: 1px solid transparent;
  white-space: nowrap;
}
.btn-primary { background: #3563eb; color: #fff; }
.btn-primary:hover { background: #244fd6; }
.btn-ghost { background: #fff; color: #334155; border-color: #cbd5e1; }
.btn-ghost:hover { background: #f1f5f9; }
.btn-success { background: #16a34a; color: #fff; }
.btn-success:hover { background: #15803d; }
.btn:disabled { opacity: .5; cursor: not-allowed; }

/* スコアバー */
.score-track {
  height: 8px;
  border-radius: 99px;
  background: #e2e8f0;
  overflow: hidden;
}
.score-fill {
  height: 100%;
  border-radius: 99px;
  transition: width .5s ease;
}

/* バッジ */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 9px;
  border-radius: 99px;
}

/* スクロールバー */
#app-main::-webkit-scrollbar { width: 10px; }
#app-main::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 99px; }
#app-main::-webkit-scrollbar-track { background: transparent; }

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

/* テーブル行ホバー */
.deal-row:hover { background: #f8fafc; }

/* コンパクトカード用 3行クランプ */
.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* モーダルオーバーレイのスクロール対応 */
#modal-overlay {
  scrollbar-width: thin;
}
#modal-overlay::-webkit-scrollbar { width: 8px; }
#modal-overlay::-webkit-scrollbar-thumb { background: #94a3b8; border-radius: 99px; }
