/* ===== General Page Layout ===== */
body {
font-family: Arial, Helvetica, sans-serif;
margin: 20px;
background-color: #fafafa;
color: #333;
}
h1 {
color: #333;
margin-bottom: 20px;
}
/* ===== Filters Section ===== */
.filters {
margin-bottom: 20px;
padding: 15px;
background-color: #f9f9f9;
border: 1px solid #ddd;
border-radius: 5px;
}
.filters > div {
display: inline-block;
margin-right: 15px;
margin-bottom: 10px;
}
.filters label {
font-weight: bold;
margin-right: 5px;
}
.filters input[type="text"],
.filters input[type="number"],
.filters select {
padding: 5px;
border: 1px solid #ccc;
border-radius: 3px;
}
.filters button,
.btn {
padding: 6px 15px;
background-color: #007bff;
color: white;
border: none;
border-radius: 3px;
cursor: pointer;
}
.filters button:hover,
.btn:hover {
background-color: #0056b3;
}
/* ===== Table ===== */
.table {
width: 100%;
border-collapse: collapse;
margin-top: 10px;
background-color: white;
}
.table th,
.table td {
border: 1px solid #ddd;
padding: 8px;
text-align: left;
}
.table th {
background-color: #f2f2f2;
font-weight: bold;
cursor: pointer;
}
.table th.sort-asc::after {
content: " ▲";
color: #007bff;
}
.table th.sort-desc::after {
content: " ▼";
color: #007bff;
}
.table tr:nth-child(even) {
background-color: #f9f9f9;
}
.table tr:hover {
background-color: #f1f1f1;
}
.table a {
color: #007bff;
text-decoration: none;
}
.table a:hover {
text-decoration: underline;
}
/* ===== Old grid layout (optional, kept for reference) ===== */
.author-header-table,
.author-row {
display: none; /* disabled in new version, since we use table instead */
}
/* ===== Modal ===== */
.modal {
display: none;
position: fixed;
z-index: 10;
left: 0;
top: 0;
right: 0;
bottom: 0;
background-color: rgba(0, 0, 0, 0.6);
align-items: center;
justify-content: center;
}
.modal-content {
background: #fff;
padding: 20px 30px;
border-radius: 6px;
max-width: 700px;
width: 90%;
box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
position: relative;
animation: fadeIn 0.3s ease;
}
@keyframes fadeIn {
from { opacity: 0; transform: scale(0.95); }
to { opacity: 1; transform: scale(1); }
}
.close-btn {
position: absolute;
top: 10px;
right: 15px;
font-size: 20px;
background: none;
border: none;
color: #888;
cursor: pointer;
}
.close-btn:hover {
color: #000;
}
/* ===== Modal Books Table ===== */
#booksTable {
width: 100%;
border-collapse: collapse;
margin-top: 15px;
}
#booksTable th,
#booksTable td {
border: 1px solid #ddd;
padding: 8px;
text-align: left;
}
#booksTable th {
background-color: #f2f2f2;
font-weight: bold;
}
/* ===== Sorting Indicators ===== */
.sorted {
color: #007bff;
}
.unsorted {
color: gray;
}