/* --- 全体 --- */
.center-form {
    max-width: 800px;
    margin: 20px auto;
    padding: 10px;
}

/* --- アップロードフォームのレイアウト --- */
#pdf-upload-form .destination-row,
#pdf-upload-form .upload-row,
#pdf-upload-form .notification-toggle-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 15px;
    gap: 10px;
}
#pdf-upload-form label { font-weight: bold; margin-right: 5px; }
#destination_user { width: 250px; }
.toggle-label { font-weight: normal !important; cursor: pointer; }

/* ドラッグ＆ドロップエリア */
#drag-drop-area {
    border: 2px dashed #ccc; border-radius: 5px; padding: 30px; text-align: center;
    color: #666; margin-bottom: 15px; transition: border-color 0.3s, background-color 0.3s;
}
#drag-drop-area.dragover { border-color: #0073aa; background-color: #f0f8ff; }
#drag-drop-area p { margin: 0; }
#file-info-display { display: none; align-items: center; justify-content: center; margin-top: 10px; }
#file-name-display { font-weight: bold; }
#cancel-file-selection { display: none; margin-left: 10px; background: #dc3232; color: white; border: none; padding: 3px 8px; cursor: pointer; border-radius: 3px; }

/* アップロードボタン */
#pdf-upload-submit-btn {
    padding: 10px 20px; font-size: 1em; font-weight: bold; border: none;
    cursor: pointer; background-color: #6c757d; color: white;
    border-radius: 4px; transition: background-color 0.3s;
}
#pdf-upload-submit-btn.toggled-on { background-color: #0073aa; }

/* --- ファイルリストのスタイル --- */
body .pdf-file-list-container {
    width: 80% !important;
    max-width: 1400px;
    margin: 20px auto !important;
    float: none !important;
}
.pdf-file-list-container h3 { text-align: center; margin-bottom: 20px; }

.filter-row { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; align-items: center; }
.filter-row button { padding: 8px 15px; border: none; cursor: pointer; font-weight: bold; color: white; }
#pdf-search-btn, #sent-pdf-search-btn { background-color: #0073aa; }
#pdf-clear-btn, #sent-pdf-clear-btn { background-color: #ff8c66; }

.pdf-file-table { width: 100%; border-collapse: collapse; margin-bottom: 20px; font-size: 12px; }
.pdf-file-table th, .pdf-file-table td { border: 1px solid #ddd; padding: 10px; text-align: left; vertical-align: middle; }
.pdf-file-table th { background-color: #f5f5f5; }

/* ▼▼▼ 追加：既読/未読セルの背景色 ▼▼▼ */
.pdf-file-table td.read-status-cell:has(.status-read) {
    background-color: #e0f7fa; /* 水色 */
}
.pdf-file-table td.read-status-cell:has(.status-unread) {
    background-color: #ffebee; /* ピンク色 */
}
/* ▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲ */

/* 既読/未読の文字スタイル */
.status-read { color: #00796b; font-weight: bold; }
.status-unread { color: #c62828; font-weight: bold; }

.view-btn, .download-action-btn { display: inline-block; padding: 5px 10px; color: #ffffff; text-decoration: none; border-radius: 3px; text-align: center; }
.view-btn { background-color: #28a745; margin-right: 8px; } .view-btn:hover { background-color: #218838; }
.download-action-btn { background-color: #0073aa; font-weight: bold; } .download-action-btn:hover { background-color: #005d8a; }
.delete-display-btn { background-color: #dc3232; color: white; font-weight: bold; border: none; padding: 3px 8px; cursor: pointer; border-radius: 3px; }
.toggle-container { text-align: right; margin-top: 10px; }
.pagination { text-align: center; margin-top: 20px; }
.pagination a, .pagination span { padding: 5px 10px; margin: 0 2px; text-decoration: none; color: #0073aa; border: 1px solid #ddd; }
.pagination .current { background-color: #0073aa; color: #ffffff; border-color: #0073aa; }
.switch { position: relative; display: inline-block; width: 50px; height: 28px; vertical-align: middle; }
.switch input { opacity: 0; width: 0; height: 0; }
.slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; transition: .4s; }
.slider:before { position: absolute; content: ""; height: 22px; width: 22px; left: 3px; bottom: 3px; background-color: white; transition: .4s; }
input:checked + .slider { background-color: #2196F3; }
input:checked + .slider:before { transform: translateX(22px); }
.slider.round { border-radius: 28px; }
.slider.round:before { border-radius: 50%; }