/* =============================================================
 * 株懇NET カラーテーマ（ブルー）
 * デザインカラー画像 bull_01 ベース
 *
 * カラーパレット:
 *   サイドバー背景:     #2C4E8F  (44, 78, 143)
 *   サイドバーアクティブ: #397DE1  (57, 125, 225)
 *   ヘッダーバー背景:   #F8F8FC  (248, 248, 252)
 *   ボタン(primary):    #2B7AE4  (43, 122, 228)
 *   コンテンツ背景:     #E8EAF6  (232, 234, 246)
 * ============================================================= */

/* --- コンテンツ背景 --- */
.content-wrapper {
    background-color: #E8EAF6 !important;
}

/* --- ヘッダーバー --- */
.main-header.navbar {
    background-color: #F9F9FC !important;
}

/* --- サイドバー --- */
.main-sidebar,
.main-sidebar .brand-link {
    background-color: #2C4E8F !important;
}

.sidebar-dark-primary .nav-sidebar > .nav-item.menu-open > .nav-link {
    background-color: rgba(255, 255, 255, 0.1) !important;
    color: #fff !important;
}

.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active {
    background-color: #397DE1 !important;
    color: #fff !important;
}

.sidebar-dark-primary .nav-sidebar .nav-link:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
}

.sidebar-dark-primary .nav-treeview > .nav-item > .nav-link.active {
    background-color: #397DE1 !important;
    color: #fff !important;
}

/* --- Bootstrap primary色の上書き --- */
.btn-primary {
    background-color: #2B7AE4 !important;
    border-color: #2B7AE4 !important;
}
.btn-primary:hover,
.btn-primary:focus {
    background-color: #2468C5 !important;
    border-color: #2468C5 !important;
}

.btn-outline-primary {
    color: #2B7AE4 !important;
    border-color: #2B7AE4 !important;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary.active {
    background-color: #2B7AE4 !important;
    border-color: #2B7AE4 !important;
    color: #fff !important;
}

.card-primary.card-outline {
    border-top-color: #2B7AE4 !important;
}


.card-primary:not(.card-outline) > .card-header {
    background-color: #2B7AE4 !important;
    border-color: #2B7AE4 !important;
}

a {
    color: #2B7AE4;
}
a:hover {
    color: #2C4E8F;
}

.badge-primary {
    background-color: #2B7AE4 !important;
}

.page-item.active .page-link {
    background-color: #2B7AE4 !important;
    border-color: #2B7AE4 !important;
}

.page-link {
    color: #2B7AE4;
}
.page-link:hover {
    color: #2C4E8F;
}

/* --- CSV出力ボタン --- */
.btn-secondary {
    background-color: #F2F4F9 !important;
    border-color: #D0D3DA !important;
    color: #333 !important;
}
.btn-secondary:hover,
.btn-secondary:focus {
    background-color: #E4E7EE !important;
    border-color: #C0C3CA !important;
    color: #333 !important;
}

/* --- 新規登録ボタン(success) --- */
.btn-success {
    background-color: #3EAB9F !important;
    border-color: #3EAB9F !important;
}
.btn-success:hover,
.btn-success:focus {
    background-color: #35948A !important;
    border-color: #35948A !important;
}

/* --- テーブル縞模様 --- */
.table-striped tbody tr:nth-of-type(odd) {
    background-color: #EEF2FC !important;
}

/* --- メールテンプレートモーダル --- */
.modal-header.bg-primary {
    background-color: #284C8F !important;
}

.modal .alert-info {
    background-color: #609CE6 !important;
    border-color: #609CE6 !important;
    color: #fff !important;
}

.modal .modal-body {
    background-color: #F2F2F7 !important;
}

.modal .modal-footer {
    background-color: #F7F7FC !important;
}

.modal .btn-secondary {
    background-color: #7B8CA9 !important;
    border-color: #7B8CA9 !important;
    color: #fff !important;
}
.modal .btn-secondary:hover,
.modal .btn-secondary:focus {
    background-color: #6B7C99 !important;
    border-color: #6B7C99 !important;
    color: #fff !important;
}

.modal .btn-primary {
    background-color: #2B7BE5 !important;
    border-color: #2B7BE5 !important;
}

/* --- コンテンツヘッダー --- */
.content-header h1 {
    font-size: 1.4rem;
    font-weight: 600;
}

/* =============================================================
 * 部会カテゴリ絞込タブ（共通）
 * 検索カードと同じ横幅に均等配置し、長い部会名は1行で省略表示
 * ホバーで全文表示はHTML側のtitle属性で対応
 * ============================================================= */
.dept-tabs {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 6px;
}

.dept-tab {
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
    padding: 0.375rem 0.75rem;
}

/* =============================================================
 * 横スクロール型タブ（旧）
 * ============================================================= */
.overflow-auto > .btn-group,
.overflow-auto .btn-group {
    display: flex;
    flex-wrap: nowrap;
}

.overflow-auto::-webkit-scrollbar {
    display: none;
}

/* =============================================================
 * ホーム画面テーブル内のバッジ（部会表示）
 * 折り返し時に重ならないよう上下余白を追加
 * ============================================================= */
.table .badge {
    margin-bottom: 0.25rem;
}
