body.dark-theme .admin-features {
    --admin-color-scheme: dark;
    --admin-background-color: #2e2e2e;
    --admin-border-color: #3e3e3e;
    --admin-text-color: #d4d4d4;
    --admin-label-color: #909090;
    --admin-input-background-color: #3e3e3e;
    --admin-input-border-color: #5e5e5e;
    --admin-button-background-color: #4CAF50;
    --admin-button-hover-background-color: #45a049;
    --admin-button-text-color: white;
}

body.light-theme .admin-features {
    --admin-color-scheme: light;
    --admin-background-color: #f9f9f9;
    --admin-border-color: #ccc;
    --admin-text-color: #000;
    --admin-label-color: #909090;
    --admin-input-background-color: #fff;
    --admin-input-border-color: #ccc;
    --admin-button-background-color: #4CAF50;
    --admin-button-hover-background-color: #45a049;
    --admin-button-text-color: white;
}

input {
    color-scheme: var(--admin-color-scheme);
}
.admin-features {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: var(--admin-background-color);
    border: 1px solid var(--admin-border-color);
    padding: 20px;
    margin-bottom: 20px;
    border-radius: 8px;
    color: var(--admin-text-color);
}

.admin-features p {
    margin: 0 0 10px;
}

#adminAddEntryForm {
    width: 98%;
    padding-bottom: 20px;
    outline: 2px solid var(--admin-border-color);
    margin-top: 20px;
    padding: 20px;
    background-color: var(--admin-input-background-color);
    border-radius: 8px;
}

#adminAddEntryForm form {
    display: flex;
    flex-direction: column;
}

#adminAddEntryForm form label {
    margin-top: 10px;
    font-weight: bold;
    color: var(--admin-label-color);
}

#adminAddEntryForm form textarea {
    height: 300px;
}

#adminAddEntryForm form input,
#adminAddEntryForm form select,
#adminAddEntryForm form textarea {
    padding: 8px;
    border: 1px solid var(--admin-input-border-color);
    border-radius: 4px;
    font-size: 16px;
    background-color: var(--admin-input-background-color);
    color: var(--admin-text-color);
}

#adminAddEntryForm form .checkbox-container {
    margin-top: 10px;
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

#adminAddEntryForm form .checkbox-container label {
    margin: 0;
    margin-right: 10px;
}

#adminAddEntryForm form .checkbox-container input {
    margin-left: 10px;
}

#adminAddEntryForm form button {
    align-self: center;
    padding: 10px 20px;
    background-color: var(--admin-button-background-color);
    color: var(--admin-button-text-color);
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

#adminAddEntryForm form button:hover {
    background-color: var(--admin-button-hover-background-color);
}

#adminAddNewEntryButton {
    margin-top: 10px;
    padding: 10px 20px;
    background-color: var(--admin-button-background-color);
    color: var(--admin-button-text-color);
    border: none;
    border-radius: 4px;
    cursor: pointer;
    align-self: center;
}

.input_container {
    margin-top:  10px;
}

.upload-field {
    display: flex;
    align-items: center;
    margin-bottom: 6px;
}

.upload-field input[type="file"] {
    flex-grow: 1; /* Take most of the available horizontal space */
    padding: 8px;
    font-size: 16px;
}

.upload-field input[type="text"] {
    flex-grow: 1; /* Take most of the available horizontal space */
    padding: 8px;
    font-size: 16px;
}

.upload-field button {
    margin-left: 10px; /* Add some space between the input and buttons */
    padding: 8px 12px;
    background-color: var(--admin-button-background-color);
    color: var(--admin-button-text-color);
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

input.existing {
    background-color: #234257 !important;
}

select.existing {
    background-color: #234257 !important;
}

.remove-btn {
    background-color: red !important;
}

.remove-file-btn {
    background-color: red !important;
}

.upload-field button:hover {
    background-color: var(--admin-button-hover-background-color);
}

.generated-filename {
    margin-left: 10px;
    font-size: 14px;
    color: #555;
}

.markdown-editor {
    display: flex;
    flex-direction: column;
    width: 100%;
}

/* Style the container that holds the tabs */
#adminAddEntryForm .tabs {
    display: flex;
    justify-content: flex-end;
    border-bottom: 2px solid var(--admin-button-background-color);
}

/* Style all buttons inside the .tabs div */
#adminAddEntryForm .tabs button {
    background-color: #2f5101;
    border: none;
    padding: 5px 10px;
    cursor: pointer;
    font-size: 13px;
    margin-right: 10px;
    transition: background-color 0.3s ease;
    border-radius: 5px 5px 0 0;
    outline: none;
}

/* Add a hover effect to make the tab look interactive */
#adminAddEntryForm .tabs button:hover {
    background-color: #ddd;
}

/* Style the active/current tab */
#adminAddEntryForm .tabs button.active {
    background-color: var(--admin-button-background-color);
    border-bottom: 2px solid var(--admin-button-background-color);
    color: #000;
}

/* Remove focus outline when clicked */
#adminAddEntryForm .tabs button:focus {
    outline: none;
}

.markdown-preview {
    border: 1px solid var(--admin-input-border-color);
    border-radius: 4px;
    background-color: var(--background-color, #1a1a1a);
    color: var(--text-color, #d4d4d4);
    padding: 16px 20px;
    max-height: 500px;
    overflow-y: auto;
    text-align: justify;
}

/* Entry-level styles inside preview for parity with published page */
.markdown-preview .centered-media {
    display: flex;
    justify-content: center;
}
.markdown-preview .centered-media img,
.markdown-preview .centered-media video {
    max-width: 100%;
    height: auto;
    padding: 5px 0;
}
.markdown-preview .file-download {
    margin: 8px 0;
}
.markdown-preview .file-download img.file-icon {
    width: 20px;
    height: 20px;
    vertical-align: middle;
    margin-right: 5px;
}

.preview-loading {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 20px;
    color: var(--admin-label-color, #909090);
    font-size: 13px;
}
.preview-spinner {
    width: 16px;
    height: 16px;
    border: 2px solid var(--admin-border-color, #3e3e3e);
    border-top-color: var(--admin-button-background-color, #4CAF50);
    border-radius: 50%;
    animation: preview-spin 0.6s linear infinite;
}
@keyframes preview-spin {
    to { transform: rotate(360deg); }
}

.preview-warning {
    background: #3d2600;
    color: #ffb347;
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 12px;
    margin-bottom: 12px;
}

.empty-preview {
    color: var(--admin-label-color, #909090);
    font-style: italic;
}