/**
 * admin.css – Gemeinsames CSS für user-list.php und user-editor.php (user.mdc todo 007)
 * Enthält notwendige Angaben aus brv.css (Variablen, Reset, Body, Bootstrap-Overrides, Alerts, Scrollbar).
 */

/* ===== aus brv.css: Variablen ===== */
:root {
    --cursor-bg-primary: #0d1117;
    --cursor-bg-secondary: #161b22;
    --cursor-bg-tertiary: #21262d;
    --cursor-bg-elevated: #30363d;
    --cursor-text-primary: #f0f6fc;
    --cursor-text-secondary: #c9d1d9;
    --cursor-text-muted: #8b949e;
    --cursor-border-primary: #30363d;
    --cursor-border-secondary: #21262d;
    --cursor-border-focus: #58a6ff;
    --cursor-accent-blue: #58a6ff;
    --cursor-accent-green: #3fb950;
    --cursor-accent-yellow: #d29922;
    --cursor-accent-red: #f85149;
    --cursor-radius-small: 6px;
    --cursor-radius-medium: 8px;
    --cursor-transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ===== aus brv.css: Global Reset & Body ===== */
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif;
    background: var(--cursor-bg-primary);
    color: var(--cursor-text-secondary);
    line-height: 1.6;
    font-size: 14px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ===== aus brv.css: Bootstrap-Overrides ===== */
.text-center { text-align: center; }
.text-info { color: var(--cursor-accent-blue) !important; }
.text-warning { color: var(--cursor-accent-yellow) !important; }
.text-white { color: var(--cursor-text-primary) !important; }
.text-light { color: var(--cursor-text-secondary) !important; }
.text-secondary { color: var(--cursor-text-muted) !important; }
.mb-0 { margin-bottom: 0 !important; }
.mb-2 { margin-bottom: 8px !important; }
.mb-3 { margin-bottom: 1rem !important; }
.mb-4 { margin-bottom: 24px !important; }
.mt-3 { margin-top: 16px !important; }
.mt-4 { margin-top: 24px !important; }
.row { display: flex; flex-wrap: wrap; margin: 0 -8px; }
.col-md-3 { flex: 0 0 25%; max-width: 25%; padding: 0 8px; }
.col-md-4 { flex: 0 0 33.333333%; max-width: 33.333333%; padding: 0 8px; }
.col-md-6 { flex: 0 0 50%; max-width: 50%; padding: 0 8px; }
.col-md-9 { flex: 0 0 75%; max-width: 75%; padding: 0 8px; }
.col-md-12 { flex: 0 0 100%; max-width: 100%; padding: 0 8px; }
@media (max-width: 768px) {
    .col-md-3, .col-md-4, .col-md-6, .col-md-9 { flex: 0 0 100%; max-width: 100%; margin-bottom: 16px; }
}

/* ===== aus brv.css: Alerts ===== */
.alert {
    background: var(--cursor-bg-tertiary);
    border: 1px solid var(--cursor-border-secondary);
    border-radius: var(--cursor-radius-medium);
    padding: 16px;
    margin: 16px 0;
    color: var(--cursor-text-secondary);
}
.alert-success { border-left: 4px solid var(--cursor-accent-green); }
.alert-danger { border-left: 4px solid var(--cursor-accent-red); }
.alert-warning { border-left: 4px solid var(--cursor-accent-yellow); }
.alert-info { border-left: 4px solid var(--cursor-accent-blue); }
.alert i { margin-right: 8px; }
.alert .alert-link { color: var(--cursor-accent-blue); }
.alert .alert-link:hover { text-decoration: underline; }

/* ===== aus brv.css: Form-Control-Basis (Bootstrap-kompatibel) ===== */
.form-control, .form-select {
    background: var(--cursor-bg-tertiary);
    border: 1px solid var(--cursor-border-secondary);
    color: var(--cursor-text-primary);
    border-radius: var(--cursor-radius-medium);
    padding: 8px 12px;
    font-size: 14px;
    transition: var(--cursor-transition);
}
.form-control:focus, .form-select:focus {
    outline: none;
    border-color: var(--cursor-accent-blue);
    box-shadow: 0 0 0 3px rgba(88, 166, 255, 0.1);
}
.form-control::placeholder { color: var(--cursor-text-muted); }

/* ===== aus brv.css: Scrollbar & Selection ===== */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--cursor-bg-primary); }
::-webkit-scrollbar-thumb { background: var(--cursor-border-primary); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--cursor-border-focus); }
::selection { background: var(--cursor-accent-blue); color: var(--cursor-text-primary); }
::-moz-selection { background: var(--cursor-accent-blue); color: var(--cursor-text-primary); }

/* ===== Basis (beide Seiten) ===== */
.card { background-color: #161b22; border-color: #30363d; color: #c9d1d9; }
.card-header { background-color: #21262d; border-color: #30363d; color: #c9d1d9; }

/* ===== Admin-Seite (admin.php direkt aufgerufen) ===== */
.admin-page-outer { margin-left: 30px; margin-right: 30px; max-width: 100%; }

/* ===== Statistics-Anzeige (liegt in .admin-page-outer, daher kein eigener Außenabstand) ===== */
.statistics-outer { margin-left: 0; margin-right: 0; max-width: 100%; }
.statistics-outer .card { background-color: var(--cursor-bg-secondary); border-color: var(--cursor-border-primary); color: var(--cursor-text-secondary); }
.statistics-outer .card-header { background-color: var(--cursor-bg-tertiary); border-color: var(--cursor-border-primary); color: var(--cursor-text-secondary); }
.statistics-outer .table { color: var(--cursor-text-secondary); }
.statistics-outer .table th { background-color: var(--cursor-bg-tertiary); border-color: var(--cursor-border-primary); }
.statistics-outer .table td { border-color: var(--cursor-border-primary); }
.statistics-outer .table-striped > tbody > tr:nth-of-type(odd) > td { background-color: var(--cursor-bg-primary); }

/* user-list.php */
.table { color: #c9d1d9; }
.table th { background-color: #21262d; border-color: #30363d; color: #c9d1d9; white-space: nowrap; }
.table td { border-color: #30363d; }
.table-striped > tbody > tr:nth-of-type(odd) > td { background-color: #0d1117; }
.user-list-outer { margin-left: 30px; margin-right: 30px; max-width: 100%; }
.user-list-table { font-size: 12px; table-layout: auto; }
.user-list-table th { white-space: nowrap; }
.user-list-table .form-control,
.user-list-table .form-select { font-size: 12px; width: 100%; min-width: 0; box-sizing: border-box; }
.col-aktion { width: 1%; white-space: nowrap; }
.search-hit { color: inherit; border-radius: 2px; padding: 0 1px; }
/* Suchtreffer: dunklere Marker auf dunklen Tabellen (rule-list, …) */
.search-hit-1 { background-color: rgba(145, 105, 15, 0.58); }
.search-hit-2 { background-color: rgba(40, 95, 130, 0.55); }
.search-hit-3 { background-color: rgba(45, 110, 65, 0.5); }
.search-hit-4 { background-color: rgba(145, 80, 50, 0.55); }
.search-hit-5 { background-color: rgba(125, 65, 100, 0.5); }
.search-hit-6 { background-color: rgba(80, 65, 130, 0.5); }
.user-list-cell-display { cursor: text; display: block; min-height: 1.5em; }
.user-list-cell-display:empty::before { content: '\00a0'; }
.user-list-isfriend-cell { cursor: pointer; }
.user-list-maps-col,
.user-list-maps-cell { min-width: 1.5em; text-align: center; }
.user-list-aktion-btn { font-size: 11px; }

/* user-editor.php */
.user-editor-outer { margin: 20px 30px; }
.user-editor-grid { display: grid; gap: 8px 16px; align-items: center; }
.user-editor-grid .field { display: contents; }
.user-editor-grid label { color: #8b949e; font-size: 0.9rem; text-align: right; padding-right: 8px; }
.user-editor-grid input,
.user-editor-grid select,
.user-editor-grid textarea {
    background: #21262d; color: #c9d1d9; border: 1px solid #30363d; padding: 6px 10px; border-radius: 4px; width: 100%; min-width: 0; box-sizing: border-box;
}
.user-editor-grid input[readonly] { opacity: 0.8; }
.user-editor-grid-6 { grid-template-columns: auto 1fr auto 1fr auto 1fr; }
.user-editor-grid-8 { grid-template-columns: auto 1fr auto 1fr auto 1fr auto 1fr; }
.user-editor-grid-1 { grid-template-columns: 1fr; }
/* team-editor: Icon/Flag + Input in einer Zeile, Eingabe variable Breite */
.team-editor-input-flex { flex: 1 1 0%; min-width: 0; }
.card.mb-3 { margin-bottom: 1rem; }
.btn-save { margin-top: 16px; }
.action-buttons-grid { display: grid; grid-template-columns: auto 1fr; gap: 24px 32px; align-items: start; }
.action-buttons-grid .action-buttons-image-col { justify-content: flex-end; margin-left: auto; width: fit-content; min-width: 0; }
.action-buttons-grid .action-buttons-buttons-col { justify-content: flex-end; }
.action-buttons-grid input[type="file"] { max-width: 100%; }
.action-buttons-grid input[type="file"]::file-selector-button,
.action-buttons-grid input[type="file"]::-webkit-file-upload-button { background: #21262d; color: #c9d1d9; border: 1px solid #30363d; padding: 6px 12px; border-radius: 4px; font-size: 0.875rem; cursor: pointer; margin-right: 8px; }
.action-buttons-grid input[type="file"]::file-selector-button:hover,
.action-buttons-grid input[type="file"]::-webkit-file-upload-button:hover { background: #30363d; color: #e6edf3; }
.user-image-upload-ui { flex: 1 1 0; min-width: 12em; max-width: 100%; display: flex; align-items: center; gap: 8px; flex-wrap: nowrap; }
.user-image-file-input { position: absolute; width: 0.1px; height: 0.1px; opacity: 0; overflow: hidden; z-index: -1; }
.user-image-filename { background: #21262d; color: #c9d1d9; border: 1px solid #30363d; padding: 6px 10px; border-radius: 4px; font-size: 0.875rem; min-width: 0; flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-image-filename.is-empty { color: #8b949e; font-style: italic; }
.user-editor-outer input[type="file"]::file-selector-button,
.user-editor-outer input[type="file"]::-webkit-file-upload-button { background: #21262d; color: #c9d1d9; border: 1px solid #30363d; padding: 6px 12px; border-radius: 4px; font-size: 0.875rem; cursor: pointer; margin-right: 8px; }
.user-editor-outer input[type="file"]::file-selector-button:hover,
.user-editor-outer input[type="file"]::-webkit-file-upload-button:hover { background: #30363d; color: #e6edf3; }
.user-editor-image-id-input { min-width: 10em; width: auto; }
.user-editor-outer .card-body { min-width: 0; }
.image-section-one-row { display: flex; flex-wrap: nowrap; align-items: center; gap: 12px 20px; min-width: 0; }
.image-section-one-row .image-section-item { display: inline-flex; align-items: center; gap: 6px; flex-shrink: 1; min-width: 0; }
.image-section-one-row .image-section-item label { margin: 0; color: #8b949e; font-size: 0.9rem; flex-shrink: 0; }
.image-section-one-row .image-section-item input.form-control { min-width: 0; width: 8em; max-width: 100%; }
.robby-settings-textarea { min-height: 120px; max-height: 280px; overflow-y: auto; resize: vertical; }
.user-editor-toggle-cell { cursor: pointer; }
.user-editor-newsletter-btn { cursor: pointer; background: none; }
.btn-copy { border-color: #fd7e14; color: #fd7e14; background: transparent; }
.btn-copy:hover { border-color: #e56b00; color: #e56b00; background-color: rgba(253, 126, 20, 0.15); }
.btn-new-password { border-color: #8b5cf6; color: #8b5cf6; background: transparent; }
.btn-new-password:hover { border-color: #7c3aed; color: #7c3aed; background-color: rgba(139, 92, 246, 0.15); }
.user-editor-geocode-status { min-height: 1.2em; }
.user-editor-geocode-status.is-error { color: #f85149; background: rgba(248, 81, 73, 0.12); border: 1px solid rgba(248, 81, 73, 0.4); padding: 6px 10px; border-radius: 6px; }
.user-editor-geocode-status.is-success { color: #3fb950; }
@media (max-width: 768px) { .action-buttons-grid { grid-template-columns: 1fr; } .action-buttons-grid .action-buttons-image-col { margin-left: 0; justify-content: flex-start; } }
