/* css/admin.css */

/* KORREKTUR: Korrekter Pfad zum Komponenten-Stylesheet */
@import url('components/_notifications.css');

:root {
    --primary-color: #4285F4;
    --background-color: #f0f2f5;
    --content-background: #ffffff;
    --text-color: #333;
    --header-color: #202124;
    --border-color: #dadce0;
    --button-hover-bg: #e8f0fe;
    --button-hover-text: #1967d2;
    --danger-color: #dc3545;
    --danger-hover-bg: #f8d7da;
    --ok-color: #28a745;
    --ok-hover-bg: #d4edda;
}

body {
    overflow: auto !important; 
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background-color: var(--background-color);
    color: var(--text-color);
    margin: 0;
    line-height: 1.6;
}

.admin-container {
    max-width: 1200px;
    margin: 2rem auto;
    padding: 2rem;
    background-color: var(--content-background);
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
}

.admin-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px solid var(--border-color);
    padding-bottom: 1rem;
    margin-bottom: 2rem;
}

h1, h2, h3 { color: var(--header-color); }
h1 { margin: 0; }
h2 { font-size: 1.5em; margin-top: 0; }
h3 { font-size: 1.2em; }

.admin-button {
    background-color: var(--primary-color);
    color: white;
    padding: 10px 15px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    text-decoration: none;
    font-size: 0.9em;
    transition: background-color 0.2s;
}
.admin-button:hover { background-color: #1967d2; }
.admin-button:disabled { background-color: #999; cursor: not-allowed; }

.admin-tabs { display: flex; border-bottom: 1px solid var(--border-color); margin-bottom: 1.5rem; }
.admin-tab-btn { padding: 10px 20px; cursor: pointer; border: none; background-color: transparent; border-bottom: 3px solid transparent; font-size: 1em; color: #5f6368; }
.admin-tab-btn.active { border-bottom-color: var(--primary-color); color: var(--primary-color); font-weight: 600; }
.admin-tab-content { display: none; }
.admin-tab-content.active { display: block; }
.table-container { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; margin-top: 1rem; }
th, td { padding: 12px; text-align: left; border-bottom: 1px solid var(--border-color); }
th { background-color: #f8f9fa; font-weight: 600; }
td { vertical-align: middle; }
select.plan-select, select.status-select { padding: 5px; border-radius: 4px; border: 1px solid var(--border-color); min-width: 100px; }
.action-btn { font-size: 1.2em; color: #5f6368; cursor: pointer; margin: 0 5px; transition: color 0.2s; }
.action-btn:hover { color: var(--primary-color); }
.action-btn.delete-btn:hover { color: var(--danger-color); }
.prompt-editor-container { display: flex; gap: 2rem; }
.prompt-selector { flex: 1; }
.prompt-editor { flex: 2; display: flex; flex-direction: column; }
.admin-input, .admin-textarea { width: 100%; padding: 10px; border-radius: 4px; border: 1px solid var(--border-color); margin-bottom: 1rem; box-sizing: border-box; }
.admin-textarea { min-height: 400px; resize: vertical; font-family: monospace; }
#save-prompt-btn, #save-settings-btn { align-self: flex-start; margin-top: 1rem; }

/* --- Stile für den Wartung-Tab --- */
.maintenance-section { margin-bottom: 2.5rem; }
.diagnostics-form { display: flex; flex-wrap: wrap; gap: 1rem; align-items: flex-end; margin-top: 1rem; }
.diagnostics-form .form-group { flex: 1 1 200px; }
.diagnostics-form .admin-button { flex-shrink: 0; }
.results-container { margin-top: 1rem; }
.diagnostics-list { list-style: none; padding: 0; border: 1px solid var(--border-color); border-radius: 8px; overflow: hidden; }
.diagnostics-list li { display: flex; align-items: center; gap: 1rem; padding: 12px; border-bottom: 1px solid var(--border-color); }
.diagnostics-list li:last-child { border-bottom: none; }
.check-name { font-weight: 600; flex-basis: 200px; flex-shrink: 0; white-space: nowrap; } /* KORREKTUR: Verhindert den Zeilenumbruch */
.check-message { font-size: 0.9em; color: #5f6368; }
.status-indicator { width: 12px; height: 12px; border-radius: 50%; flex-shrink: 0; }
.status-indicator.status-ok { background-color: var(--ok-color); box-shadow: 0 0 6px var(--ok-color); }
.status-indicator.status-error { background-color: var(--danger-color); box-shadow: 0 0 6px var(--danger-color); }

.stats-summary-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.5rem; margin-bottom: 2rem; }
.stat-card { background-color: #f8f9fa; padding: 1.5rem; border-radius: 8px; border: 1px solid var(--border-color); }
.stat-card-title { font-size: 0.9em; color: #5f6368; margin: 0 0 0.5rem 0; }
.stat-card-value { font-size: 2em; font-weight: 600; margin: 0; color: var(--header-color); }
.settings-grid-container { border: 1px solid var(--border-color); border-radius: 8px; overflow: hidden; margin-bottom: 1.5rem; }
.settings-grid-header, .settings-grid-row { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 1rem; align-items: center; }
.settings-grid-header { background-color: #f8f9fa; font-weight: 600; }
.header-cell, .settings-grid-row > * { padding: 12px; }
.settings-grid-row { border-top: 1px solid var(--border-color); }
.settings-grid-row:nth-child(even) { background-color: #fdfdfd; }
.settings-label { font-weight: 500; }
.settings-grid-row .admin-input { margin-bottom: 0; }