/* --- COALESCED STYLES --- */
body { background-color: #181818; color: #e0e0e0; font-family: sans-serif; padding: 2em; }
h1, h2, h3 { color: #f92672; }
a { color: #a6e22e; text-decoration: none; }
table { width: 90%; margin: 20px auto; border-collapse: collapse; background-color: #282828; }
th, td { border: 1px solid #505050; padding: 12px; text-align: left; }
th { background-color: #383838; font-size: 1.2em; line-height: 1.4; }
.navigation { text-align: center; margin-bottom: 2em; margin-top: 2em; }
.book-count { color: #999; font-size: 0.8em; font-weight: normal; }
.page-content p, .page-content h1, .page-content h2, .page-content ul { margin-top: 0.5em; margin-bottom: 0.5em; }
.page-content h1 { font-size: 1.8em; }
.page-content h2 { font-size: 1.5em; }
.page-content ul { padding-left: 20px; }
.page-content li { margin-bottom: 0.75em; }
.carousel-item { height: 550px; background-color: #000; }
.carousel-item img { height: 100%; object-fit: contain; width: 100%; }

/* --- Admin Styles --- */
.navigation.admin-nav { text-align: center; margin-bottom: 2em; margin-top: 1em; padding: 1em; border: 1px solid #505050; background-color: #282828; }
.menu-row { margin-bottom: 0.5em; }
form div { margin-bottom: 10px; }
label { display: block; margin-bottom: 5px; }
input[type="text"], input[type="number"], input[type="email"], input[type="password"], textarea, select { background-color: #282828; color: #e0e0e0; border: 1px solid #505050; padding: 8px; width: 100%; box-sizing: border-box; }
button { background-color: #a6e22e; color: #181818; border: none; padding: 10px 20px; cursor: pointer; }
.pagination { margin-left: 20px; }

/* --- Standalone Page Styles --- */
.standalone-body { display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; }
.standalone-container { width: 400px; padding: 2em; border: 1px solid #505050; border-radius: 8px; text-align: center; background-color: #282828;}
.standalone-container input[type="email"], .standalone-container input[type="text"], .standalone-container input[type="password"] { background-color: #181818; }
.standalone-container button { margin-top: 10px; width: 100%; border-radius: 4px; font-size: 1em;}
p.message { padding: 1em; border-radius: 4px; word-wrap: break-word; }
p.error, p.error-message { background-color: #5c0a0a; border: 1px solid #f92672; color: #e0e0e0; }
p.info { background-color: #383838; border: 1px solid #505050; }
p.success { background-color: #3c5c0a; border: 1px solid #a6e22e; }
.forgot-password-link { margin-top: 15px; }

/* --- Utility Classes --- */
.bg-dark-70 { --bs-bg-opacity: .7; }
.form-input-dark { background-color: #282828; color: #e0e0e0; border: 1px solid #505050; padding: 8px; }
.button-go { background-color: #a6e22e; color: #181818; border: none; padding: 8px 15px; cursor: pointer; }
.dashboard-cell { width: 25%; vertical-align: top; padding: 2px 10px; }
.backup-summary { text-align: center; margin: 1em 0; font-size: 1.1em; }
.cleanup-report { text-align: center; margin-top: 2em; padding: 1em; border: 1px solid #505050; background-color: #282828; }
.utility-container { max-width: 600px; margin: 2em auto; padding: 1em; border: 1px solid #505050; border-radius: 8px; background-color: #282828; }
.form-checkbox { width: auto; margin-top: 10px; }
.debug-report { background-color: #383838; border: 1px solid #a6e22e; padding: 15px; margin-bottom: 2em; }
.debug-report-header { margin-top:0; color:#a6e22e; }
.debug-report-content { white-space: pre-wrap; word-wrap: break-word; color: #e0e0e0; }
.input-readonly { background-color: #444; }
.text-muted-light { color: #999; }
.group-header { color: #a6e22e; border-bottom: 1px solid #505050; padding-bottom: 5px; margin-top: 1.5em; }
.setting-header { margin-top: 0; }
.setting-value-wrapper { margin-top: 0; }
.setting-value-code { background-color: #181818; padding: 2px 5px; border-radius: 3px; color: #e0e0e0; word-break: break-all; }
.form-row-flex { display: flex; flex-direction: row; align-items: center; margin-top: 10px; }
.form-row-flex label { margin-left: 5px; margin-bottom: 0; width: auto; }
.form-row-flex input { width: auto; margin-top: 0; }
.form-label-inline { width: auto; margin-top: 0; }
.cell-valign-top { vertical-align: top; }
/* NEW CLASS for search bars and other side-by-side elements */
.form-flex-center { display: flex; align-items: center; }