@charset "UTF-8";

/* =========================================
   管理画面 ベーステーマ (Purple Theme)
   ========================================= */
:root {
    --primary: #605ca8;       /* メインカラー: 紫 */
    --primary-hover: #4b4887; /* ホバー時の色 */
}

/* --- Bootstrap4 Override (テーマカラー適用) --- */

.bg-primary { background-color: var(--primary) !important; }
.text-primary { color: var(--primary) !important; }

/* ボタン */
.btn-primary {
    background-color: var(--primary);
    border-color: var(--primary);
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active {
    background-color: var(--primary-hover);
    border-color: var(--primary-hover);
}

/* カードヘッダー */
.card-primary:not(.card-outline) > .card-header {
    background-color: var(--primary);
}
.card-primary.card-outline {
    border-top: 3px solid var(--primary);
}

/* ページネーション */
.page-item.active .page-link {
    background-color: var(--primary);
    border-color: var(--primary);
}

/* リンク */
a { color: var(--primary); }
a:hover { color: var(--primary-hover); }

/* 入力欄アイコン */
.input-group-text { color: var(--primary); }

/* --- AdminLTE Sidebar Override --- */
.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active,
.sidebar-light-primary .nav-sidebar > .nav-item > .nav-link.active {
    background-color: var(--primary);
    color: #fff;
}

/* --- Login Page Specific --- */
.login-page { background-color: #e9ecef; }

/* --- Custom Utilities --- */
.btn-purple { 
    color: #fff; background-color: #6f42c1; border-color: #6f42c1; box-shadow: none; 
}
.btn-purple:hover { 
    color: #fff; background-color: #6139a8; border-color: #5b369c; 
}
.thumbnail { display: inline-block; height: 150px; margin-right: 10px; margin-bottom: 10px; }
.thumbnail img { height: 100%; }

/* --- DataTables Custom Checkbox (Base Style) --- */
.custom-checkbox-wrapper {
    display: flex; justify-content: center; align-items: center; height: 100%;
}
.custom-checkbox-wrapper input[type="checkbox"] {
    opacity: 0; width: 0; height: 0; position: absolute; margin: 0;
}
.custom-checkbox-wrapper label {
    display: inline-block; width: 20px; height: 20px;
    background-color: #fff; border: 1px solid #b8b8b8; border-radius: 3px;
    cursor: pointer; position: relative; margin: 0;
}
.custom-checkbox-wrapper input[type="checkbox"]:checked + label {
    background-color: #007bff; border-color: #007bff;
}
.custom-checkbox-wrapper input[type="checkbox"]:checked + label::after {
    content: ''; display: block; position: absolute;
    top: 2px; left: 6px; width: 6px; height: 12px;
    border: solid #fff; border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}