/* 全体のスタイル */
body {
    font-family: 'Noto Sans JP', sans-serif;
    background-color: #f5f5f5;
}

/* ヘッダーのスタイル */
.navbar-brand {
    font-weight: bold;
}

/* メインコンテンツのスタイル */
main {
    min-height: calc(100vh - 180px);
}

/* フッターのスタイル */
footer {
    margin-top: 2rem;
}

/* カードのスタイル */
.card {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    margin-bottom: 1.5rem;
}

.card-header {
    font-weight: bold;
}

/* フォームのスタイル */
.form-label {
    font-weight: 500;
}

/* テーブルのスタイル */
.table th {
    background-color: #f8f9fa;
}

/* ページタイトルのスタイル */
h1 {
    border-bottom: 2px solid #e9ecef;
    padding-bottom: 0.5rem;
    margin-bottom: 1.5rem;
}

/* アラートのスタイル */
.alert {
    margin-bottom: 1.5rem;
}

/* バッジのスタイル */
.badge {
    font-size: 0.85rem;
}

/* Books table layout adjustments */
.table th:nth-child(1), .table td:nth-child(1) { /* Title */
    width: 40%;
}
.table th:nth-child(2), .table td:nth-child(2) { /* Author */
    width: 15%;
}
.table th:nth-child(3), .table td:nth-child(3) { /* Category */
    width: 15%;
}
.table th:nth-child(4), .table td:nth-child(4) { /* Location */
    width: 10%;
}
.table th:nth-child(5), .table td:nth-child(5) { /* Status */
    width: 10%;
}
.table th:nth-child(6), .table td:nth-child(6) { /* Actions */
    width: 10%;
}

/* Utility to prevent button text from wrapping */
.btn-no-wrap {
    white-space: nowrap;
}

/* お知らせ優先度のスタイル */
.priority-low {
    position: relative !important;
    border-color: #007bff !important;
    color: #004085 !important;
}

.priority-low::before {
    content: '';
    position: absolute !important;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 123, 255, 0.15) !important;
    z-index: -1 !important;
}

.priority-medium {
    position: relative !important;
    border-color: #ffc107 !important;
    color: #856404 !important;
}

.priority-medium::before {
    content: '';
    position: absolute !important;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255, 193, 7, 0.15) !important;
    z-index: -1 !important;
}

.priority-high {
    position: relative !important;
    border-color: #dc3545 !important;
    color: #721c24 !important;
}

.priority-high::before {
    content: '';
    position: absolute !important;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(220, 53, 69, 0.15) !important;
    z-index: -1 !important;
}

/* 優先度バッジのスタイル */
.priority-badge-low {
    background-color: #007bff !important;
}

.priority-badge-medium {
    background-color: #ffc107 !important;
    color: #000 !important;
}

.priority-badge-high {
    background-color: #dc3545 !important;
}