/**
 * css/admin.css - Dediziertes Stylesheet für das Admincenter
 * Version: 2.1 (Erzwingt das neue Button-Layout für die Navigation)
 * Letzte Änderung: 02. August 2025
 */

/*
 * Wir definieren das Layout für die neue Navigation hier direkt,
 * um Konflikte mit anderen Stylesheets oder Tailwind zu umgehen.
 */
.admin-tabs-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem; /* Entspricht Tailwind 'gap-2' */
    margin-bottom: 1.5rem; /* Entspricht Tailwind 'mb-6' */
}

.admin-tab-button {
    padding: 0.5rem 1rem; /* Entspricht Tailwind 'px-4 py-2' */
    font-size: 0.875rem; /* Entspricht Tailwind 'text-sm' */
    font-weight: 500; /* Entspricht Tailwind 'font-medium' */
    border-radius: 0.375rem; /* Entspricht Tailwind 'rounded-md' */
    transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out;
    text-decoration: none;
    background-color: #ffffff; /* Entspricht Tailwind 'bg-white' */
    color: #374151; /* Entspricht Tailwind 'text-gray-700' */
    border: 1px solid #d1d5db; /* Leichter Rand für bessere Abgrenzung */
}

.admin-tab-button:hover {
    background-color: #f3f4f6; /* Entspricht Tailwind 'hover:bg-gray-100' */
}

.admin-tab-button.active {
    background-color: var(--css-color-primary, #4f46e5);
    color: #ffffff;
    border-color: transparent;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
}

/* Dark Mode Anpassungen */
body.dark .admin-tab-button {
    background-color: #1f2937; /* Entspricht Tailwind 'dark:bg-gray-800' */
    color: #d1d5db; /* Entspricht Tailwind 'dark:text-gray-300' */
    border-color: #374151;
}

body.dark .admin-tab-button:hover {
    background-color: #374151; /* Entspricht Tailwind 'dark:hover:bg-gray-700' */
}

body.dark .admin-tab-button.active {
    background-color: var(--css-color-primary, #4f46e5);
    color: #ffffff;
}

/* --- Inhalts-Karte anpassen --- */
/* Diese Regel ist weiterhin nützlich, um die obere linke Ecke der Inhaltsbox
   bündig mit der Navigationsleiste abzuschließen, wenn diese nicht umbricht. */
.admin-content-card {
    border-top-left-radius: 0;
}


.update-history-item { margin-bottom: 8px; }


/* Benutzer- und Rechteverwaltung */
.user-management-shell .muted {
    color: #64748b;
}
.user-management-title {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
}
.user-management-help-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #334155;
    border-radius: 999px;
    cursor: pointer;
}
.user-management-header,
.user-management-section-head,
.user-management-authmode {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    flex-wrap: wrap;
}
.user-management-actions,
.user-management-inline-form,
.user-management-filters,
.user-management-row-actions {
    display: flex;
    gap: 0.65rem;
    flex-wrap: wrap;
    align-items: center;
}
.user-management-summary {
    padding: 0.75rem 1rem;
}
.user-management-summary-line {
    display: flex;
    gap: 0.9rem;
    flex-wrap: wrap;
    font-size: 0.95rem;
    color: #334155;
}
.user-management-summary-line strong {
    font-size: 1.05rem;
}
.user-management-authmode-compact {
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 0.85rem 1rem;
    background: #f8fafc;
}
.user-management-inline-form label {
    margin: 0;
    min-width: 70px;
}
.user-management-inline-form select {
    min-width: 220px;
}
.user-management-filters input,
.user-management-filters select {
    min-width: 180px;
}
.user-management-table td,
.user-management-table th {
    vertical-align: top;
}

/* --- Zentrale Admin-Modal-Basis --- */

[id$="Modal"].fixed.inset-0 {
    z-index: 2000 !important;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: 2rem 1rem;
}
[id$="Modal"].fixed.inset-0 > .modal-content {
    width: 100%;
    max-width: min(960px, calc(100vw - 2rem));
    max-height: calc(100vh - 4rem);
    overflow: auto;
    margin: auto;
}

body.modal-open {
    overflow: hidden;
    height: 100vh;
}
.modal {
    position: fixed;
    inset: 0;
    display: none;
    align-items: flex-start;
    justify-content: center;
    padding: 2rem 1rem;
    background: rgba(15, 23, 42, 0.55);
    z-index: 2000;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}
.modal.show {
    display: flex !important;
}
.modal .modal-dialog {
    position: relative;
    width: min(960px, calc(100vw - 2rem));
    max-width: 100%;
    margin: auto;
    pointer-events: none;
}
.modal .modal-content {
    position: relative;
    width: 100%;
    max-width: 100%;
    max-height: calc(100vh - 4rem);
    overflow: auto;
    overscroll-behavior: contain;
    pointer-events: auto;
    padding: 0;
}

.um-modal-wrap {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}
.um-modal {
    max-width: 820px;
    width: 100%;
    max-height: calc(100vh - 2rem);
    overflow: auto;
}
.um-modal.large {
    max-width: 1080px;
}
.um-modal-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}
.um-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
.um-form-full {
    grid-column: 1 / -1;
}
.um-modal-message {
    min-height: 1.4rem;
    font-size: 0.95rem;
    font-weight: 600;
}
.um-modal-message.info { color: #1d4ed8; }
.um-modal-message.error { color: #b91c1c; }
.um-modal-message.success { color: #166534; }
.um-role-checkbox-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}
.um-checkbox-card {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    border: 1px solid #dbe4ee;
    border-radius: 12px;
    padding: 0.8rem;
    background: #fff;
}
.um-checkbox-card input {
    width: auto;
    margin-top: 0.2rem;
}
.um-checkbox-card span {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}
.um-checkbox-card small {
    color: #64748b;
}
.um-permission-groups {
    display: grid;
    gap: 1rem;
}
.um-permission-group {
    padding: 0.85rem;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #f8fafc;
}
.um-permission-group h4 {
    margin: 0 0 0.75rem 0;
}
.um-modal-body {
    min-height: 6rem;
}
.um-help-content h3 {
    margin-top: 1.25rem;
}
.um-help-content h3:first-child {
    margin-top: 0;
}
.um-help-content ul,
.um-help-content ol {
    padding-left: 1.2rem;
}
.user-management-mode-notice {
    width: 100%;
    margin-top: 0.55rem;
}
body.dark .user-management-authmode,
body.dark .um-permission-group,
body.dark .um-checkbox-card,
body.dark-theme .user-management-authmode,
body.dark-theme .um-permission-group,
body.dark-theme .um-checkbox-card,
body.dark .user-management-help-trigger,
body.dark-theme .user-management-help-trigger {
    background: #111827;
    border-color: #334155;
    color: #e5e7eb;
}
body.dark .user-management-summary,
body.dark-theme .user-management-summary {
    background: #0f172a;
    border-color: #334155;
}
body.dark .user-management-summary-line,
body.dark .um-help-content,
body.dark .um-modal-head h3,
body.dark .um-permission-group h4,
body.dark-theme .user-management-summary-line,
body.dark-theme .um-help-content,
body.dark-theme .um-modal-head h3,
body.dark-theme .um-permission-group h4 {
    color: #e5e7eb;
}
body.dark .user-management-shell .muted,
body.dark .um-checkbox-card small,
body.dark-theme .user-management-shell .muted,
body.dark-theme .um-checkbox-card small {
    color: #94a3b8;
}
body.dark .user-management-shell input,
body.dark .user-management-shell select,
body.dark .user-management-shell textarea,
body.dark-theme .user-management-shell input,
body.dark-theme .user-management-shell select,
body.dark-theme .user-management-shell textarea {
    background: #0f172a;
    color: #e5e7eb;
    border-color: #334155;
}
body.dark .user-management-shell label,
body.dark .user-management-shell td,
body.dark .user-management-shell th,
body.dark-theme .user-management-shell label,
body.dark-theme .user-management-shell td,
body.dark-theme .user-management-shell th {
    color: #e5e7eb;
}
@media (max-width: 900px) {
    .um-form-grid,
    .um-role-checkbox-grid {
        grid-template-columns: 1fr;
    }
    .user-management-filters input,
    .user-management-filters select,
    .user-management-inline-form select {
        min-width: 100%;
    }
}


.profile-page-container { max-width: 1200px; }
.profile-view-head { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; flex-wrap:wrap; }
.profile-view-actions { display:flex; gap:.75rem; flex-wrap:wrap; }
.profile-view-grid { margin-top:1rem; }
.profile-subcard h2 { margin-top:0; margin-bottom:.75rem; }
.profile-definition-list { display:grid; gap:.75rem; }
.profile-definition-list div { display:grid; gap:.15rem; }
.profile-definition-list dt { font-size:.8rem; text-transform:uppercase; letter-spacing:.04em; color:#64748b; }
.profile-definition-list dd { margin:0; font-weight:500; color:#0f172a; white-space:pre-wrap; }
body.dark .profile-definition-list dd,
body.dark-theme .profile-definition-list dd { color:#e5e7eb; }
body.dark .profile-definition-list dt,
body.dark-theme .profile-definition-list dt { color:#94a3b8; }
.module-install-summary-block { margin-top:1rem; }
.module-install-details-merged > li { margin-bottom:.9rem; }
.module-install-details-merged ul { margin:.35rem 0 .15rem 1.2rem; list-style:disc; }
.auth-secondary-links { margin-top:1rem; }

/* System Mail Bridge */
.system-mail-bridge-shell {
    display: grid;
    gap: 1rem;
}
.system-mail-bridge-title {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
}
.system-mail-bridge-help-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #334155;
    border-radius: 999px;
    cursor: pointer;
}
.system-mail-bridge-intro {
    margin: 0.35rem 0 0;
    color: #475569;
}
.system-mail-bridge-help-card {
    border: 1px solid #e2e8f0;
    border-radius: 0.8rem;
    background: #f8fafc;
    padding: 0.85rem 1rem;
}
.system-mail-bridge-help-card summary {
    cursor: pointer;
}
.system-mail-bridge-help-content {
    margin-top: 0.75rem;
    color: #334155;
}
.system-mail-bridge-help-content h4 {
    margin: 0.85rem 0 0.35rem;
}
.system-mail-bridge-help-content ol,
.system-mail-bridge-help-content ul {
    margin: 0.35rem 0 0.75rem 1.25rem;
}
#system-mail-bridge .smb-row {
    display: flex;
    flex-direction: column;
    margin: 0.2rem 0;
}
#system-mail-bridge label span {
    font-size: 0.8rem;
    color: #475569;
    margin-bottom: 0.3rem;
}
#system-mail-bridge input,
#system-mail-bridge select,
#system-mail-bridge textarea {
    width: 100%;
    padding: 0.65rem 0.75rem;
    border: 1px solid #cbd5e1;
    border-radius: 0.55rem;
    background: #ffffff;
    color: #0f172a;
}
#system-mail-bridge .smb-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.9rem 1rem;
}
@media (min-width: 900px) {
    #system-mail-bridge .smb-grid {
        grid-template-columns: 1fr 1fr;
    }
}
#system-mail-bridge .smb-test-section {
    grid-column: 1 / -1;
}
#system-mail-bridge .smb-test-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin-top: 0.4rem;
}
@media (min-width: 900px) {
    #system-mail-bridge .smb-test-grid {
        grid-template-columns: 1fr 1fr;
    }
}
#system-mail-bridge .smb-divider {
    border: none;
    border-top: 1px solid #e2e8f0;
    margin: 0.2rem 0 0.85rem;
}
#system-mail-bridge .smb-pass-toggle {
    margin-top: 0.45rem;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}
#system-mail-bridge .smb-pass-toggle input {
    width: auto;
}
#system-mail-bridge .smb-actions {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    align-items: center;
}
#system-mail-bridge .smb-actions button {
    padding: 0.65rem 0.95rem;
    border-radius: 0.55rem;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #0f172a;
    cursor: pointer;
}
#system-mail-bridge .smb-actions button.primary {
    background: #2563eb;
    color: #ffffff;
    border-color: #1d4ed8;
}
#system-mail-bridge .smb-alert {
    display: none;
    padding: 0.75rem 0.9rem;
    border-radius: 0.7rem;
}
#system-mail-bridge .smb-alert.ok {
    display: block;
    background: #e8fff0;
    border: 1px solid #86efac;
    color: #166534;
}
#system-mail-bridge .smb-alert.err {
    display: block;
    background: #fff1f2;
    border: 1px solid #fda4af;
    color: #9f1239;
}
#system-mail-bridge .muted {
    color: #64748b;
    font-size: 0.85rem;
}
body.dark .system-mail-bridge-help-trigger,
body.dark-theme .system-mail-bridge-help-trigger,
body.dark .system-mail-bridge-help-card,
body.dark-theme .system-mail-bridge-help-card,
body.dark #system-mail-bridge .smb-actions button,
body.dark-theme #system-mail-bridge .smb-actions button {
    background: #111827;
    border-color: #334155;
    color: #e5e7eb;
}
body.dark .system-mail-bridge-intro,
body.dark .system-mail-bridge-help-content,
body.dark #system-mail-bridge label span,
body.dark #system-mail-bridge .muted,
body.dark-theme .system-mail-bridge-intro,
body.dark-theme .system-mail-bridge-help-content,
body.dark-theme #system-mail-bridge label span,
body.dark-theme #system-mail-bridge .muted {
    color: #cbd5e1;
}
body.dark #system-mail-bridge input,
body.dark #system-mail-bridge select,
body.dark #system-mail-bridge textarea,
body.dark-theme #system-mail-bridge input,
body.dark-theme #system-mail-bridge select,
body.dark-theme #system-mail-bridge textarea {
    background: #0f172a;
    color: #e5e7eb;
    border-color: #334155;
}
body.dark #system-mail-bridge .smb-actions button.primary,
body.dark-theme #system-mail-bridge .smb-actions button.primary {
    background: #2563eb;
    color: #ffffff;
    border-color: #1d4ed8;
}

/* Backups & Wiederherstellung */
#backup-management .backup-management-header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}
#backup-management .backup-management-title {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
}
#backup-management .backup-help-trigger {
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #0f172a;
    cursor: pointer;
}
#backup-management .backup-management-actions {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}
#backup-management .backup-management-summary {
    margin-bottom: 1rem;
}
#backup-management .backup-management-summary-line {
    display: flex;
    gap: 0.9rem 1.25rem;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 0.6rem;
}
#backup-management .backup-management-summary-list {
    margin: 0;
    padding-left: 1.1rem;
    color: #475569;
}
#backup-management .backup-management-section-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 0.85rem;
}
#backup-management .backup-management-message {
    display: none;
    margin-bottom: 0.8rem;
    padding: 0.75rem 0.9rem;
    border-radius: 0.7rem;
}
#backup-management .backup-management-message.show {
    display: block;
}
#backup-management .backup-management-message.success {
    background: #e8fff0;
    border: 1px solid #86efac;
    color: #166534;
}
#backup-management .backup-management-message.error {
    background: #fff1f2;
    border: 1px solid #fda4af;
    color: #9f1239;
}
#backup-management .backup-management-table {
    width: 100%;
    border-collapse: collapse;
}
#backup-management .backup-management-table th,
#backup-management .backup-management-table td {
    text-align: left;
    padding: 0.75rem 0.6rem;
    border-top: 1px solid #e2e8f0;
    color: #0f172a;
    vertical-align: top;
}
#backup-management .backup-row-actions {
    display: flex;
    gap: 0.45rem;
    flex-wrap: wrap;
}
#backupCreateModal,
#backupSettingsModal,
#backupRestoreModal,
#backupHelpModal {
    background: rgba(15, 23, 42, 0.55);
    z-index: 2000;
    overflow-y: auto;
    padding: 1rem;
}
#backupCreateModal .modal-dialog,
#backupSettingsModal .modal-dialog,
#backupRestoreModal .modal-dialog,
#backupHelpModal .modal-dialog {
    width: min(880px, calc(100vw - 2rem));
    max-height: calc(100vh - 2rem);
    margin: 1rem auto;
}
.backup-management-modal {
    padding: 1rem;
    width: 100%;
    max-width: 880px;
    max-height: calc(100vh - 4rem);
    overflow-y: auto;
    margin: 0 auto;
}
.backup-management-modal .backup-modal-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    margin-bottom: 0.85rem;
}
.backup-management-modal .backup-management-form {
    display: grid;
    gap: 0.85rem;
}
.backup-management-modal .backup-management-form label {
    display: grid;
    gap: 0.35rem;
}
.backup-management-modal .backup-management-form input,
.backup-management-modal .backup-management-form select,
.backup-management-modal .backup-management-form textarea {
    width: 100%;
    padding: 0.65rem 0.75rem;
    border: 1px solid #cbd5e1;
    border-radius: 0.55rem;
    background: #ffffff;
    color: #0f172a;
}

.backup-management-modal .backup-checkbox-row {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}
.backup-management-modal .backup-checkbox-row input[type="checkbox"] {
    width: auto;
    margin: 0;
}
.backup-management-modal .backup-settings-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.85rem;
}
.backup-management-modal .backup-management-form hr {
    width: 100%;
    border: 0;
    border-top: 1px solid #e2e8f0;
    margin: 0.35rem 0;
}
body.dark .backup-management-modal .backup-management-form hr,
body.dark-theme .backup-management-modal .backup-management-form hr {
    border-color: #334155;
}
.backup-management-modal .backup-modal-actions {
    display: flex;
    gap: 0.75rem;
    justify-content: flex-end;
    flex-wrap: wrap;
}
.backup-management-modal .backup-modal-hints,
.backup-management-modal .backup-help-content {
    color: #475569;
    line-height: 1.55;
}
body.dark #backup-management .backup-help-trigger,
body.dark-theme #backup-management .backup-help-trigger,
body.dark #backup-management .backup-management-summary,
body.dark-theme #backup-management .backup-management-summary,
body.dark #backup-management .backup-management-table-card,
body.dark-theme #backup-management .backup-management-table-card,
body.dark .backup-management-modal,
body.dark-theme .backup-management-modal {
    background: #111827;
    border-color: #334155;
    color: #e5e7eb;
}
body.dark #backup-management .backup-management-summary-list,
body.dark .backup-management-modal .backup-modal-hints,
body.dark .backup-management-modal .backup-help-content,
body.dark #backup-management .small.muted,
body.dark-theme #backup-management .backup-management-summary-list,
body.dark-theme .backup-management-modal .backup-modal-hints,
body.dark-theme .backup-management-modal .backup-help-content,
body.dark-theme #backup-management .small.muted {
    color: #cbd5e1;
}
body.dark #backup-management .backup-management-table th,
body.dark #backup-management .backup-management-table td,
body.dark-theme #backup-management .backup-management-table th,
body.dark-theme #backup-management .backup-management-table td {
    color: #e5e7eb;
    border-color: #334155;
}
body.dark .backup-management-modal .backup-management-form input,
body.dark .backup-management-modal .backup-management-form select,
body.dark .backup-management-modal .backup-management-form textarea,
body.dark-theme .backup-management-modal .backup-management-form input,
body.dark-theme .backup-management-modal .backup-management-form select,
body.dark-theme .backup-management-modal .backup-management-form textarea {
    background: #0f172a;
    color: #e5e7eb;
    border-color: #334155;
}

#backup-management .backup-restore-warning {
    padding: 0.85rem 1rem;
    border-radius: 0.75rem;
    border: 1px solid #fecaca;
    background: #fff7ed;
    color: #7c2d12;
}
#backup-management .backup-restore-warning ul {
    margin: 0.55rem 0 0 1.1rem;
}
#backup-management .backup-restore-meta {
    display: grid;
    gap: 0.45rem;
    padding: 0.85rem 1rem;
    border-radius: 0.75rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #0f172a;
}
body.dark #backup-management .backup-restore-warning,
body.dark-theme #backup-management .backup-restore-warning {
    background: #3f1d1d;
    border-color: #7f1d1d;
    color: #fecaca;
}
body.dark #backup-management .backup-restore-meta,
body.dark-theme #backup-management .backup-restore-meta {
    background: #0f172a;
    border-color: #334155;
    color: #e5e7eb;
}

/* Systemeinstellungen */
.system-settings-shell {
    display: grid;
    gap: 1rem;
}
.system-settings-header-card {
    overflow: hidden;
}
.system-settings-title-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    flex-wrap: wrap;
}
.system-settings-title {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
}
.system-settings-intro {
    margin: 0.45rem 0 0 0;
}
.system-settings-help-trigger {
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #0f172a;
    cursor: pointer;
}
.system-settings-accordion {
    padding: 0;
    overflow: hidden;
}
.system-settings-accordion-summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
}
.system-settings-accordion-summary::-webkit-details-marker {
    display: none;
}
.system-settings-accordion-title-wrap {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    min-width: 0;
}
.system-settings-accordion-title-wrap strong,
.system-settings-accordion-title-wrap small {
    display: block;
}
.system-settings-accordion-title-wrap small {
    margin-top: 0.15rem;
    color: #64748b;
}
.system-settings-summary-toggle {
    color: #64748b;
    font-size: 0.9rem;
    white-space: nowrap;
}
.system-settings-summary-icon,
.system-settings-status-indicator {
    width: 1.9rem;
    height: 1.9rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}
.system-settings-summary-icon.ok,
.system-settings-status-indicator.ok {
    background: #dcfce7;
    color: #166534;
}
.system-settings-summary-icon.error,
.system-settings-status-indicator.error {
    background: #fee2e2;
    color: #b91c1c;
}
.system-settings-summary-icon.muted {
    background: #e2e8f0;
    color: #334155;
}
.system-settings-accordion-body {
    border-top: 1px solid #e2e8f0;
    padding: 1rem 1.1rem 1.1rem 1.1rem;
}
.system-settings-status-grid,
.system-settings-links-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.9rem;
}
.system-settings-status-card,
.system-settings-link-card,
.system-settings-log-block,
.system-settings-help-modal {
    border: 1px solid #dbe4ee;
    border-radius: 14px;
    background: #ffffff;
}
.system-settings-status-card,
.system-settings-link-card {
    padding: 0.95rem 1rem;
}
.system-settings-status-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.5rem;
}
.system-settings-status-heading {
    display: flex;
    align-items: center;
    gap: 0.55rem;
}
.system-settings-status-label {
    font-size: 0.95rem;
    color: #334155;
}
.system-settings-status-value {
    font-size: 1rem;
}
.system-settings-status-detail {
    color: #475569;
    margin: 0 0 0.75rem 0;
}
.system-settings-status-link,
.system-settings-link-card {
    color: #1d4ed8;
    text-decoration: none;
}
.system-settings-link-card {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}
.system-settings-link-card strong {
    color: #0f172a;
}
.system-settings-link-card span {
    color: #475569;
}
.system-settings-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
.system-settings-form-grid-single {
    grid-template-columns: 1fr;
}
.system-settings-form-grid label {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}
.system-settings-full-width {
    grid-column: 1 / -1;
}
.system-settings-switch-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border: 1px solid #dbe4ee;
    border-radius: 12px;
    padding: 0.85rem 1rem;
    background: #f8fafc;
}
.system-settings-switch-text {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}
.system-settings-switch-text strong {
    color: #0f172a;
}
.system-settings-switch-text small {
    color: #64748b;
    line-height: 1.45;
}
.system-settings-switch-control {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.system-settings-switch-control input {
    width: 1.1rem;
    height: 1.1rem;
    margin: 0;
}
.system-settings-form-grid input,
.system-settings-form-grid select,
.system-settings-form-grid textarea {
    width: 100%;
}
.system-settings-form-actions {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}
.system-settings-save-message {
    font-weight: 600;
    min-height: 1.2rem;
}
.system-settings-save-message.success {
    color: #166534;
}
.system-settings-save-message.error {
    color: #b91c1c;
}
.system-settings-log-hints p {
    margin: 0.2rem 0;
    color: #334155;
}
.system-settings-log-block {
    padding: 0.85rem 0.95rem;
    margin-top: 0.85rem;
}
.system-settings-log-head {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}
.system-settings-log-head small {
    color: #64748b;
}
.system-settings-log-block pre {
    margin: 0.95rem 0 0 0;
    max-height: 320px;
    overflow: auto;
    background: #0f172a;
    color: #e5e7eb;
    padding: 0.9rem;
    border-radius: 12px;
    font-size: 0.8rem;
    line-height: 1.45;
}
.system-settings-log-table-wrap {
    margin-top: 1rem;
}
.system-settings-section-head.compact {
    margin-bottom: 0.65rem;
}
#systemSettingsHelpModal {
    background: rgba(15, 23, 42, 0.55);
    z-index: 2000;
    overflow-y: auto;
    padding: 1rem;
}
#systemSettingsHelpModal .modal-dialog {
    width: min(820px, calc(100vw - 2rem));
    max-width: 100%;
    margin: auto;
}
.system-settings-modal-head {
    padding: 0.85rem 1rem;
    border-bottom: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.system-settings-modal-head h3 {
    margin: 0;
}
.system-settings-help-modal {
    width: 100%;
    max-width: 820px;
    max-height: calc(100vh - 4rem);
    overflow-y: auto;
}
.system-settings-help-content {
    padding: 1rem;
    color: #334155;
    line-height: 1.6;
}
.system-settings-help-content h3 {
    margin-top: 0;
}
.system-settings-help-content ul,
.system-settings-help-content ol {
    padding-left: 1.15rem;
}
.status-ok {
    border-color: #86efac;
    background: #f0fdf4;
}
.status-error {
    border-color: #fca5a5;
    background: #fef2f2;
}
@media (max-width: 900px) {
    .system-settings-form-grid {
        grid-template-columns: 1fr;
    }
    .system-settings-accordion-summary {
        flex-direction: column;
        align-items: stretch;
    }
    .system-settings-switch-row {
        align-items: flex-start;
    }
}

body.dark .system-settings-help-trigger,
body.dark .system-settings-accordion,
body.dark .system-settings-status-card,
body.dark .system-settings-link-card,
body.dark .system-settings-log-block,
body.dark .system-settings-checkbox-row,
body.dark .system-settings-help-modal,
body.dark-theme .system-settings-help-trigger,
body.dark-theme .system-settings-accordion,
body.dark-theme .system-settings-status-card,
body.dark-theme .system-settings-link-card,
body.dark-theme .system-settings-log-block,
body.dark-theme .system-settings-checkbox-row,
body.dark-theme .system-settings-help-modal {
    background: #111827;
    border-color: #334155;
}
body.dark .system-settings-intro,
body.dark .system-settings-accordion-title-wrap small,
body.dark .system-settings-summary-toggle,
body.dark .system-settings-status-detail,
body.dark .system-settings-link-card span,
body.dark .system-settings-log-hints p,
body.dark .system-settings-log-head small,
body.dark-theme .system-settings-intro,
body.dark-theme .system-settings-accordion-title-wrap small,
body.dark-theme .system-settings-summary-toggle,
body.dark-theme .system-settings-status-detail,
body.dark-theme .system-settings-link-card span,
body.dark-theme .system-settings-log-hints p,
body.dark-theme .system-settings-log-head small {
    color: #cbd5e1;
}
body.dark .system-settings-title,
body.dark .system-settings-accordion-title-wrap strong,
body.dark .system-settings-status-label,
body.dark .system-settings-link-card strong,
body.dark .system-settings-help-content,
body.dark .system-settings-modal-head h3,
body.dark-theme .system-settings-title,
body.dark-theme .system-settings-accordion-title-wrap strong,
body.dark-theme .system-settings-status-label,
body.dark-theme .system-settings-link-card strong,
body.dark-theme .system-settings-help-content,
body.dark-theme .system-settings-modal-head h3 {
    color: #e5e7eb;
}


/* Systemeinstellungen – Tabs, Hardware, Instanzdesign und Assistenten */
.system-settings-tab-nav { margin-bottom: 0; }
.system-settings-tab-panel { display: none; }
.system-settings-tab-panel.active { display: grid; gap: 1rem; }
.system-settings-panel-card { display: grid; gap: 1rem; }
.system-settings-section-head h2 { margin: 0; }
.system-settings-section-head p { margin: 0.35rem 0 0 0; color: #64748b; }
.system-settings-tab-nav .admin-tab-button,
.admin-tabs-nav.core-tabs .admin-tab-button {
    border-color: var(--npc-core-tab-border, #ef9a9a);
    border-width: 1px;
    border-style: solid;
    border-radius: var(--npc-admin-tab-radius, 10px);
}
.system-settings-tab-nav .admin-tab-button.active,
.admin-tabs-nav.core-tabs .admin-tab-button.active {
    border-color: var(--npc-core-tab-border, #ef9a9a);
}
.system-settings-hardware-banner {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 0.9rem 1rem;
    border-radius: 14px;
    border: 1px solid #dbe4ee;
}
.system-settings-hardware-banner.ok { background: #f0fdf4; border-color: #86efac; color: #166534; }
.system-settings-hardware-banner.error { background: #fef2f2; border-color: #fca5a5; color: #991b1b; }
.system-settings-live-grid,
.system-settings-alert-grid,
.system-settings-assistant-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1rem;
}
.system-settings-live-card,
.system-settings-alert-list-card,
.system-settings-assistant-card,
.system-settings-preview-card,
.system-settings-preview-nav {
    border: 1px solid #dbe4ee;
    border-radius: 14px;
    background: #ffffff;
    padding: 1rem;
}
.system-settings-live-card h3,
.system-settings-alert-list-card h3,
.system-settings-assistant-card h3,
.system-settings-preview-card h3 { margin: 0 0 0.75rem 0; }
.system-settings-kv-list { display: grid; gap: 0.55rem; margin: 0; }
.system-settings-kv-list div { display: flex; justify-content: space-between; gap: 1rem; }
.system-settings-kv-list dt { color: #64748b; }
.system-settings-kv-list dd { margin: 0; color: #0f172a; text-align: right; }
.system-settings-alert-list { margin: 0; padding-left: 1.1rem; display: grid; gap: 0.45rem; }
.system-settings-alert-list li.warning { color: #92400e; }
.system-settings-alert-list li.critical { color: #b91c1c; }
.system-settings-mail-preview {
    margin-top: 0.75rem;
    padding: 0.85rem;
    border-radius: 12px;
    background: #f8fafc;
    color: #334155;
    border: 1px solid #dbe4ee;
    display: grid;
    gap: 0.35rem;
    font-size: 0.85rem;
}
.system-settings-color-field input[type="color"] {
    width: 100%;
    min-height: 2.75rem;
    padding: 0.2rem;
    border-radius: 10px;
    border: 1px solid #dbe4ee;
    background: transparent;
}
.system-settings-preview-shell { display: grid; gap: 0.8rem; }
.system-settings-preview-nav {
    background: var(--npc-admin-nav-bg, #0b1220);
    color: var(--npc-admin-nav-text, #e5e7eb);
}
.system-settings-preview-card {
    background: var(--npc-admin-card-bg, #ffffff);
    color: var(--npc-admin-card-text, #0f172a);
}
.system-settings-preview-tabs { display: flex; flex-wrap: wrap; gap: 0.55rem; margin-top: 0.9rem; }
.system-settings-preview-tab {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 0.9rem;
    border-radius: var(--npc-admin-tab-radius, 10px);
    border: 1px solid var(--npc-core-tab-border, #ef9a9a);
    background: #ffffff;
}
.system-settings-preview-tab.active { background: var(--npc-admin-nav-active-bg, #172554); color: var(--npc-admin-nav-active-text, #ffffff); }
.system-settings-assistant-card { display: grid; gap: 0.75rem; }
.system-settings-assistant-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.system-settings-assistant-head h3 { margin: 0; }
.system-settings-form-grid.two-inline { grid-template-columns: 1fr auto; align-items: end; }
.system-settings-checkbox-row {
    border: 1px solid #dbe4ee;
    border-radius: 12px;
    padding: 0.85rem 1rem;
    background: #f8fafc;
    display: flex;
    align-items: center;
    gap: 0.7rem;
}
.system-settings-checkbox-row.compact {
    border: 1px solid #dbe4ee;
    border-radius: 12px;
    padding: 0.75rem 0.85rem;
    background: #f8fafc;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.6rem;
}
body.dark .system-settings-section-head p,
body.dark-theme .system-settings-section-head p,
body.dark .system-settings-kv-list dt,
body.dark-theme .system-settings-kv-list dt { color: #cbd5e1; }
body.dark .system-settings-live-card,
body.dark .system-settings-alert-list-card,
body.dark .system-settings-assistant-card,
body.dark .system-settings-preview-card,
body.dark .system-settings-preview-nav,
body.dark-theme .system-settings-live-card,
body.dark-theme .system-settings-alert-list-card,
body.dark-theme .system-settings-assistant-card,
body.dark-theme .system-settings-preview-card,
body.dark-theme .system-settings-preview-nav {
    background: #111827;
    border-color: #334155;
    color: #e5e7eb;
}
body.dark .system-settings-kv-list dd,
body.dark-theme .system-settings-kv-list dd { color: #e5e7eb; }
@media (max-width: 900px) {
    .system-settings-form-grid.two-inline { grid-template-columns: 1fr; }
}


.system-settings-preset-bar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    margin-bottom: 1rem;
    border: 1px solid #dbe4ee;
    border-radius: 14px;
    background: #f8fafc;
}
.system-settings-preset-copy { display: grid; gap: 0.25rem; }
.system-settings-preset-copy strong { color: #0f172a; }
.system-settings-preset-copy small { color: #64748b; max-width: 56rem; }
.system-settings-preset-actions { display: flex; flex-wrap: wrap; gap: 0.6rem; justify-content: flex-end; }

body.app-shell .dark\:bg-gray-800,
body.app-shell .dark\:bg-gray-900,
body.app-shell .dark\:bg-gray-950,
body.app-shell .dark\:bg-slate-800,
body.app-shell .dark\:bg-zinc-900,
body.app-shell .dark\:bg-neutral-900 {
    background: var(--npc-admin-card-bg, #ffffff) !important;
    color: var(--npc-admin-card-text, #0f172a) !important;
}
body.app-shell .dark\:bg-red-900 { background: #fee2e2 !important; }
body.app-shell .dark\:bg-yellow-900 { background: #fef3c7 !important; }
body.app-shell .dark\:text-gray-100,
body.app-shell .dark\:text-gray-200,
body.app-shell .dark\:text-gray-300,
body.app-shell .dark\:text-gray-400,
body.app-shell .dark\:text-white,
body.app-shell .dark\:text-red-400,
body.app-shell .dark\:text-green-400 {
    color: var(--npc-admin-card-text, #334155) !important;
}
body.app-shell .dark\:border-gray-700 { border-color: var(--npc-admin-border, #dbe4ee) !important; }
body.app-shell .dark\:divide-gray-700 > :not([hidden]) ~ :not([hidden]) { border-color: var(--npc-admin-border, #dbe4ee) !important; }
body.app-shell .main .card table thead,
body.app-shell .main table thead { background: #f8fafc; }

@media (max-width: 900px) {
    .system-settings-preset-bar {
        flex-direction: column;
    }
    .system-settings-preset-actions {
        justify-content: flex-start;
    }
    .system-settings-page-head {
        flex-direction: column;
    }
    .system-settings-page-actions,
    .system-settings-page-modal-actions {
        justify-content: flex-start;
    }
}



.system-settings-notification-events-card {
    border: 1px solid #dbe4ee;
    border-radius: 14px;
    background: #ffffff;
    padding: 1rem;
}
.system-settings-notification-event-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 0.75rem;
}
.system-settings-page-summary-card {
    align-content: start;
}
.system-settings-page-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}
.system-settings-page-status,
.system-settings-page-route-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    border-radius: 999px;
    padding: 0.3rem 0.7rem;
    font-size: 0.8rem;
    font-weight: 600;
}
.system-settings-page-status.ok {
    background: #f0fdf4;
    color: #166534;
    border: 1px solid #86efac;
}
.system-settings-page-status.error {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fca5a5;
}
.system-settings-page-route-badge {
    background: #eff6ff;
    color: #1d4ed8;
    border: 1px solid #bfdbfe;
}
.system-settings-page-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    justify-content: flex-end;
}
.system-settings-page-summary {
    display: grid;
    gap: 0.45rem;
    color: #475569;
    font-size: 0.9rem;
}
.system-settings-page-modal-card {
    width: min(980px, calc(100vw - 2rem));
    max-width: 100%;
    max-height: calc(100vh - 2rem);
    overflow: hidden;
    display: grid;
    grid-template-rows: auto 1fr;
}
.system-settings-page-modal-body {
    overflow-y: auto;
    padding: 1rem;
}
.system-settings-page-modal-body .system-settings-page-card {
    border: 0;
    padding: 0;
    border-radius: 0;
    box-shadow: none;
}
.system-settings-page-modal-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: center;
}
body.dark .system-settings-notification-events-card,
body.dark-theme .system-settings-notification-events-card,
body.dark .system-settings-page-modal-card,
body.dark-theme .system-settings-page-modal-card {
    background: #111827;
    border-color: #334155;
    color: #e5e7eb;
}
body.dark .system-settings-page-summary,
body.dark-theme .system-settings-page-summary {
    color: #cbd5e1;
}
body.dark .system-settings-page-route-badge,
body.dark-theme .system-settings-page-route-badge {
    background: #1e3a8a;
    color: #dbeafe;
    border-color: #1d4ed8;
}

.system-settings-page-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 1rem;
}
.system-settings-page-card {
    border: 1px solid #dbe4ee;
    border-radius: 16px;
    background: #ffffff;
    padding: 1rem;
    display: grid;
    gap: 0.9rem;
}
.system-settings-page-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}
.system-settings-page-head h3 {
    margin: 0;
    color: #0f172a;
}
.system-settings-page-head p {
    margin: 0.35rem 0 0 0;
    color: #64748b;
}
body.dark .system-settings-page-card,
body.dark-theme .system-settings-page-card {
    background: #111827;
    border-color: #334155;
}
body.dark .system-settings-page-head h3,
body.dark-theme .system-settings-page-head h3 {
    color: #e5e7eb;
}
body.dark .system-settings-page-head p,
body.dark-theme .system-settings-page-head p {
    color: #cbd5e1;
}


.system-settings-title i,
.system-settings-section-head h2 i,
.system-settings-accordion-summary strong i,
.admin-tab-button i { margin-right: 0.45rem; }
.system-settings-help-trigger.inline {
    width: 1.8rem;
    height: 1.8rem;
    margin-left: 0.45rem;
    vertical-align: middle;
}
.system-settings-inline-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 600;
}
.system-settings-inline-preview-rendered {
    margin-top: 0.85rem;
    padding: 1rem;
    border: 1px solid #dbe4ee;
    border-radius: 12px;
    background: #ffffff;
    color: var(--npc-admin-card-text, #0f172a);
}
.system-settings-inline-preview-rendered h1,
.system-settings-inline-preview-rendered h2,
.system-settings-inline-preview-rendered h3 { margin-top: 0; }
.system-settings-password-row {
    display: flex;
    gap: 0.6rem;
    align-items: stretch;
}
.system-settings-password-row input { flex: 1 1 auto; }
.system-settings-password-row button { white-space: nowrap; }


.npc-help-trigger,
.system-settings-help-trigger,
.system-settings-help-trigger.inline,
.user-management-help-trigger,
.backup-help-trigger,
.system-mail-bridge-help-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin-left: 0.35rem;
    border: 0;
    background: transparent !important;
    color: #64748b;
    cursor: pointer;
    padding: 0;
    border-radius: 0;
    box-shadow: none;
    font-size: 1.1rem;
    line-height: 1;
}
.npc-help-trigger:hover,
.system-settings-help-trigger:hover,
.system-settings-help-trigger.inline:hover,
.user-management-help-trigger:hover,
.backup-help-trigger:hover,
.system-mail-bridge-help-trigger:hover {
    background: transparent !important;
    color: #0f172a;
}
.npc-help-modal-content {
    padding: 0;
}
.npc-help-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #dbe4ee;
}
.npc-help-modal-header h3 {
    margin: 0;
    font-size: 1.1rem;
}
.npc-help-modal-header h3 i {
    margin-right: 0.45rem;
}
.npc-help-modal-body {
    padding: 1.1rem 1.25rem 1.25rem;
    color: var(--npc-admin-card-text, #0f172a);
}
.npc-help-modal-body h3,
.npc-help-modal-body h4 {
    margin-top: 0;
}
.help-center-header,
.help-center-toolbar,
.help-center-list-card,
.help-center-form-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.help-center-header,
.help-center-toolbar,
.help-center-list-card {
    margin-bottom: 1rem;
}
.help-center-filter-form label,
.help-center-form label {
    display: grid;
    gap: 0.35rem;
}
.help-center-form {
    padding: 1rem 1.25rem 1.25rem;
    display: grid;
    gap: 1rem;
}
.help-center-table td,
.help-center-table th {
    vertical-align: top;
}
.help-center-checkbox {
    align-self: end;
}
.system-settings-tab-panel[data-ss-panel="security"] .system-settings-form-grid.system-settings-form-grid-single {
    gap: 0.7rem;
}
.system-settings-tab-panel[data-ss-panel="security"] .system-settings-switch-row {
    padding: 0.7rem 0.9rem;
    border-radius: 10px;
}
.system-settings-tab-panel[data-ss-panel="security"] .system-settings-switch-text small {
    margin-top: 0.18rem;
    line-height: 1.25;
}
.system-settings-page-summary .js-system-settings-autosubmit {
    display: grid;
    gap: 0.35rem;
}
.system-settings-save-message.small {
    font-size: 0.78rem;
    min-height: 1rem;
}


.core-super-nav-wrap {
    margin-top: 1rem;
    margin-bottom: 0.5rem;
}
.core-super-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    align-content: flex-start;
    gap: 0.6rem;
    padding: 0;
    margin-bottom: 0;
}
.core-super-nav-link.admin-tab-button {
    display: inline-flex !important;
    align-items: center;
    gap: 0.45rem;
    margin: 0 !important;
    line-height: 1.2;
    border-radius: 999px;
    text-decoration: none;
    background: var(--npc-admin-card-bg, #ffffff);
    color: var(--npc-admin-card-text, #0f172a);
    border-color: var(--npc-admin-border, #dbe4ee);
}
.core-super-nav-link.admin-tab-button:hover {
    background: color-mix(in srgb, var(--npc-admin-card-bg, #ffffff) 82%, #e2e8f0 18%);
}
.core-super-nav-link.admin-tab-button.active {
    background: var(--npc-admin-nav-active-bg, #dbeafe) !important;
    color: var(--npc-admin-nav-active-text, #0f172a) !important;
    border-color: var(--npc-admin-nav-active-bg, #dbeafe) !important;
}


body.dark .npc-help-trigger,
body.dark-theme .npc-help-trigger,
body.dark .backup-help-trigger,
body.dark-theme .backup-help-trigger,
body.dark .system-mail-bridge-help-trigger,
body.dark-theme .system-mail-bridge-help-trigger {
    color: #cbd5e1;
}
body.dark .npc-help-trigger:hover,
body.dark-theme .npc-help-trigger:hover,
body.dark .backup-help-trigger:hover,
body.dark-theme .backup-help-trigger:hover,
body.dark .system-mail-bridge-help-trigger:hover,
body.dark-theme .system-mail-bridge-help-trigger:hover {
    color: #f8fafc;
}
body.dark .npc-help-modal-header,
body.dark-theme .npc-help-modal-header {
    border-bottom-color: rgba(148, 163, 184, 0.24);
}


.system-settings-tab-panel[data-ss-panel="security"] .system-settings-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem 0.95rem;
}
.system-settings-tab-panel[data-ss-panel="security"] .system-settings-full-width {
    grid-column: 1 / -1;
}
.system-settings-tab-panel[data-ss-panel="security"] .system-settings-switch-row {
    padding: 0.55rem 0.75rem;
    min-height: 0;
}
.system-settings-tab-panel[data-ss-panel="security"] .system-settings-switch-text strong {
    font-size: 0.95rem;
}
.system-settings-tab-panel[data-ss-panel="security"] .system-settings-switch-text small {
    font-size: 0.78rem;
    line-height: 1.2;
}
.system-settings-tab-panel[data-ss-panel="security"] textarea[name="maintenance_message"] {
    min-height: 96px;
}
#hausmeister-app > .flex.items-center.justify-between,
#help-center-module .help-center-header,
#system-mail-bridge .system-mail-bridge-heading {
    background: var(--npc-admin-card-bg, #ffffff);
    border: 1px solid var(--npc-admin-border, #dbe4ee);
    border-radius: 16px;
    padding: 1rem 1.2rem;
}
#help-center-module .help-center-header,
#system-mail-bridge .system-mail-bridge-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}
#help-center-module .help-center-title,
#system-mail-bridge .system-mail-bridge-title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 0;
}
/* Einheitliches Hilfesystem */
.npc-help-trigger {
    float: right;
    margin-left: 0.75rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--admin-nav-color, #1f2937);
    cursor: pointer;
    line-height: 1;
    font-size: 1.25rem;
}
.npc-help-trigger:hover {
    color: var(--admin-nav-active-color, #0f766e);
}
.npc-help-trigger i {
    font-size: 1.25rem;
}

.npc-help-modal .modal-dialog {
    max-width: 860px;
    width: min(92vw, 860px);
}
.npc-help-modal .npc-help-modal-content,
.npc-help-modal .system-settings-help-modal,
.npc-help-modal .modal-content {
    background: var(--admin-modal-bg, #ffffff);
    color: var(--admin-modal-text-color, var(--admin-content-text-color, #111827));
    border-radius: var(--admin-modal-radius, 16px);
    border: 1px solid rgba(148, 163, 184, 0.25);
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.24);
}
.npc-help-modal .npc-help-modal-header,
.npc-help-modal .system-settings-modal-head,
.npc-help-modal .modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.2);
}
.npc-help-modal .npc-help-modal-header h3,
.npc-help-modal .system-settings-modal-head h3,
.npc-help-modal .modal-header h3 {
    margin: 0;
    font-size: 1.1rem;
    display: flex;
    align-items: center;
    gap: 0.55rem;
    color: inherit;
}
.npc-help-modal .npc-help-modal-body,
.npc-help-modal .system-settings-help-content {
    padding: 1.1rem 1.25rem 1.25rem;
    color: inherit;
}
.npc-help-modal .modal-close,
.npc-help-modal .npc-help-close {
    margin-left: auto;
    padding: 0;
    border: 0;
    background: transparent;
    color: #dc2626;
    cursor: pointer;
    line-height: 1;
}
.npc-help-modal .modal-close:hover,
.npc-help-modal .npc-help-close:hover {
    color: #b91c1c;
}
.npc-help-modal .modal-close i,
.npc-help-modal .npc-help-close i {
    font-size: 1.4rem;
}
.npc-help-modal .modal-close,
.npc-help-modal .npc-help-close,
.user-management-title .npc-help-trigger,
.backup-management-title .npc-help-trigger,
.system-settings-section-head .npc-help-trigger,
.system-settings-summary-head .npc-help-trigger,
.help-center-title .npc-help-trigger,
h1 .npc-help-trigger,
h2 .npc-help-trigger,
h3 .npc-help-trigger,
strong .npc-help-trigger {
    float: right;
}


.npc-title-help-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.npc-title-help-row > h1,
.npc-title-help-row > h2,
.npc-title-help-row > h3 {
    margin: 0;
}
.npc-title-help-row .npc-help-trigger {
    float: none;
    flex: 0 0 auto;
    margin-left: auto;
}
.help-center-toolbar-bar {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}
.system-settings-tab-panel[data-ss-panel="overview"] .system-settings-section-head,
.system-settings-tab-panel[data-ss-panel="config"] .system-settings-section-head,
.system-settings-tab-panel[data-ss-panel="logs"] .system-settings-section-head {
    margin-bottom: 1rem;
}


.system-settings-title,
.system-settings-section-head h2,
.system-settings-section-head strong {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
}
.system-settings-title .npc-help-trigger,
.system-settings-section-head h2 .npc-help-trigger,
.system-settings-section-head strong .npc-help-trigger {
    float: none;
    margin-left: auto;
    flex: 0 0 auto;
}


/* Hotfix Titelzeilen / Hilfeausrichtung */
.npc-title-help-row {
    width: 100%;
}
.user-management-header > div:first-child,
#backup-management .backup-management-header > div:first-child,
#help-center-module .help-center-header > div:first-child,
#system-mail-bridge .system-mail-bridge-heading > div:first-child {
    flex: 1 1 auto;
    min-width: 0;
}
#system-mail-bridge .system-mail-bridge-heading {
    display: block;
}
#system-mail-bridge .system-mail-bridge-intro {
    margin-top: 0.5rem;
}

/* Hilfeverwaltung Layout-Korrektur */
.help-center-header,
.help-center-toolbar {
    display: block;
}
.help-center-list-card {
    display: block;
}
.help-center-form-actions {
    display: flex;
}
#help-center-module .help-center-header {
    display: block;
}


/* Installer / Installationslogs */
.install-tab-panel,
.install-log-panel { display: none; }
.install-tab-panel.active,
.install-log-panel.active { display: block; }
.button-row { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1rem; }
.compact-list { margin: 0.75rem 0 0; padding-left: 1.1rem; }
.install-upload-form input[type="file"] { display: block; margin-top: 0.75rem; }
.installer-source-meta { margin-bottom: 1rem; color: #4b5563; }
.installer-package-list { display: grid; gap: 1rem; }
.installer-package-card { border: 1px solid #e5e7eb; border-radius: 14px; padding: 1rem; background: #fff; }
.installer-package-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.installer-package-head h4 { margin: 0; }
.installer-package-badge { display: inline-flex; align-items: center; border: 1px solid #d1d5db; border-radius: 999px; padding: 0.2rem 0.65rem; font-size: 0.8rem; }
.installer-error { color: #b91c1c; }
.installer-settings-form .installer-settings-card label { display: block; margin-bottom: 0.35rem; }
.installer-settings-form .installer-settings-card input,
.installer-settings-form .installer-settings-card select { width: 100%; }
.status-success { border-left: 4px solid #16a34a; }
.status-error { border-left: 4px solid #b91c1c; }
.status-info { border-left: 4px solid #2563eb; }
.hidden { display: none !important; }
body.dark .installer-package-card { background: #111827; border-color: #374151; }
body.dark .installer-package-badge { border-color: #4b5563; }
.button-row-inline { justify-content: flex-end; margin-top: 0; }
.topbar-version-link { display: inline-flex; align-items: center; margin-left: 0.75rem; padding: 0.2rem 0.6rem; border: 1px solid #d1d5db; border-radius: 999px; text-decoration: none; font-size: 0.85rem; }
body.dark .topbar-version-link { border-color: #4b5563; }
.validation-rule-result-list a { text-decoration: none; }
.validation-rule-result-list .rule-pass { color: #15803d; }
.validation-rule-result-list .rule-fail { color: #b91c1c; }
.validation-rule-result-list .rule-warn { color: #a16207; }
.rule-catalog-section { margin-top: 1rem; }


.rule-stats-grid { margin-bottom: 1rem; }
.rule-management-grid { align-items: start; }
.rule-filter-form, .rule-editor-form { display: grid; gap: 1rem; }
.rule-filter-actions { display: flex; align-items: end; }
.rule-table td, .rule-table th { vertical-align: top; }
.rule-detail-cell { background: rgba(0,0,0,0.02); font-size: 0.95rem; }
.inline-form { display: inline; }
.rule-active-field { align-self: end; }


.contract-section-grid { align-items: start; }
.rule-table .muted { display: inline-block; margin-top: 0.15rem; }
.notice.success { border-left: 4px solid #15803d; }
.notice.error { border-left: 4px solid #b91c1c; }
.installation-section-stack { display: grid; gap: 1rem; }
.installation-primary-block,
.installation-secondary-block { display: block; }
.install-block-split { align-items: start; margin-bottom: 1rem; }
.installation-log-list { display: grid; gap: 1rem; margin-top: 1rem; }
.install-log-entry { border: 1px solid #e5e7eb; border-radius: 14px; padding: 1rem; background: #fff; }
.install-log-title-row { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
.install-log-title { font-size: 1rem; }
.install-log-version { color: #6b7280; font-size: 0.9rem; }
.install-log-status-badge { display: inline-flex; align-items: center; border-radius: 999px; border: 1px solid #d1d5db; padding: 0.15rem 0.55rem; font-size: 0.78rem; }
.install-log-time { margin-top: 0.4rem; }
.install-log-message { margin-top: 0.35rem; }
.install-log-action-row { margin-top: 0.85rem; }
.npc-modal-content-card { display: grid; gap: 1rem; }
.npc-modal-content-card > .card { margin: 0; }
body.dark .install-log-entry { background: #111827; border-color: #374151; }
body.dark .install-log-status-badge { border-color: #4b5563; }


/* Installation Assistant */
.preflight-edit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;}
.preflight-edit-field{display:flex;flex-direction:column;gap:6px;}
.preflight-edit-field input,.preflight-edit-field select{width:100%;}
.validation-rule-result-list .rule-pass,.validation-rule-result-list .rule-fail,.validation-rule-result-list .rule-warn{display:inline-block;}

.softwarecenter-meta-bar { display: flex; flex-wrap: wrap; gap: 0.65rem; align-items: center; }
.softwarecenter-status-pill { display: inline-flex; align-items: center; border: 1px solid #d1d5db; border-radius: 999px; padding: 0.18rem 0.65rem; background: #f8fafc; font-size: 0.8rem; }
body.dark .softwarecenter-status-pill { background: #0f172a; border-color: #4b5563; color: #f9fafb; }
.softwarecenter-copy-field { display: block; }


/* NextPrivyCore
 * Pfad: css/admin.css
 * Version: 2.18.18
 * Datum: 2026-04-01
 * Zweck: Ergänzt globale Helfer für das Softwarecenter-Detailmodal.
 */
.softwarecenter-log-detail-pre {
    white-space: pre-wrap;
}


/* Softwarecenter – globale Listenwerkzeuge */
.softwarecenter-toolbar {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.85rem;
    align-items: end;
}
.softwarecenter-toolbar-meta {
    align-self: stretch;
    padding-top: 1.6rem;
}
.softwarecenter-inline-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}
.is-hidden-by-filter {
    display: none !important;
}

/* NextPrivyCore
 * Pfad: css/admin.css
 * Version: 2.18.21
 * Datum: 2026-04-02
 * Zweck: Strafft das Softwarecenter visuell, reduziert Info-Blöcke und macht Tabellen sowie Tabs mobil besser bedienbar.
 */
.softwarecenter-header-card {
    margin-bottom: 0.9rem;
}
.softwarecenter-section-intro {
    margin: 0.35rem 0 0.8rem;
    max-width: 72ch;
}
.softwarecenter-tabs,
.softwarecenter-subtabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    overflow: visible;
    padding-bottom: 0;
    margin-bottom: 0.9rem;
    scrollbar-width: none;
}
.softwarecenter-tabs .admin-tab-button,
.softwarecenter-subtabs .admin-tab-button {
    flex: 0 0 auto;
    white-space: nowrap;
}
.softwarecenter-inline-details {
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    background: #f8fafc;
    padding: 0.65rem 0.85rem;
}
.softwarecenter-inline-details summary {
    cursor: pointer;
    font-weight: 600;
    list-style: none;
}
.softwarecenter-inline-details summary::-webkit-details-marker {
    display: none;
}
.softwarecenter-inline-details summary::after {
    content: '▾';
    float: right;
    color: #6b7280;
}
.softwarecenter-inline-details[open] summary::after {
    content: '▴';
}
.softwarecenter-export-block textarea,
.softwarecenter-copy-field textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.softwarecenter-toolbar {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.75rem;
    align-items: end;
}
.softwarecenter-toolbar > label,
.softwarecenter-toolbar > div,
.softwarecenter-toolbar > details {
    min-width: 0;
}
.softwarecenter-toolbar .input-field,
.softwarecenter-toolbar select,
.softwarecenter-toolbar input {
    width: 100%;
}
.softwarecenter-toolbar-meta {
    padding-top: 0;
}
.softwarecenter-compact-list {
    margin: 0;
}
.softwarecenter-responsive-table td code {
    word-break: break-word;
}

body.dark .softwarecenter-inline-details {
    background: #0f172a;
    border-color: #374151;
}
body.dark .softwarecenter-inline-details summary::after {
    color: #9ca3af;
}

@media (max-width: 920px) {
    .softwarecenter-meta-bar {
        gap: 0.45rem;
    }

    .softwarecenter-status-pill {
        font-size: 0.75rem;
    }

    #softwarecenter-module .grid.two,
    #softwarecenter-module .grid.four {
        grid-template-columns: 1fr;
    }

    #softwarecenter-module .button-row {
        flex-wrap: wrap;
    }

    .softwarecenter-toolbar {
        grid-template-columns: 1fr;
    }

    .softwarecenter-tabs,
    .softwarecenter-subtabs,
    .hausmeister-tabs {
        gap: 0.4rem;
    }

    .softwarecenter-tabs .admin-tab-button,
    .softwarecenter-subtabs .admin-tab-button,
    .hausmeister-tabs .admin-tab-button {
        width: 100%;
        justify-content: center;
    }

    table.softwarecenter-responsive-table thead {
        display: none;
    }

    table.softwarecenter-responsive-table,
    table.softwarecenter-responsive-table tbody,
    table.softwarecenter-responsive-table tr,
    table.softwarecenter-responsive-table td {
        display: block;
        width: 100%;
    }

    table.softwarecenter-responsive-table tbody {
        display: grid;
        gap: 0.8rem;
    }

    table.softwarecenter-responsive-table tbody tr {
        border: 1px solid #e5e7eb;
        border-radius: 14px;
        padding: 0.75rem 0.85rem;
        background: #ffffff;
        box-sizing: border-box;
    }

    body.dark table.softwarecenter-responsive-table tbody tr {
        background: #111827;
        border-color: #374151;
    }

    table.softwarecenter-responsive-table tbody td {
        border: 0 !important;
        padding: 0.3rem 0;
        text-align: left;
        box-sizing: border-box;
        display: grid;
        grid-template-columns: minmax(5.8rem, 7rem) minmax(0, 1fr);
        gap: 0.55rem;
        align-items: start;
    }

    table.softwarecenter-responsive-table tbody td::before {
        content: attr(data-label);
        font-size: 0.75rem;
        color: #6b7280;
        font-weight: 600;
    }

    body.dark table.softwarecenter-responsive-table tbody td::before {
        color: #9ca3af;
    }

    table.softwarecenter-responsive-table tbody td[colspan] {
        grid-template-columns: 1fr;
    }

    table.softwarecenter-responsive-table tbody td[colspan]::before {
        margin-bottom: 0.15rem;
    }

    table.softwarecenter-responsive-table .button-row {
        flex-direction: column;
        align-items: stretch;
        gap: 0.45rem;
    }

    table.softwarecenter-responsive-table .button-row .btn,
    table.softwarecenter-responsive-table .button-row a.btn {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}

/* NextPrivyCore
 * Pfad: css/admin.css
 * Version: 2.19.5
 * Datum: 2026-04-03
 * Zweck: Globale UI-Korrekturen für Hausmeister und Softwarecenter: Kopfzeile, Tabs ohne Scrollleisten, mobile Überläufe und saubere Kontraste.
 */
.hausmeister-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    overflow: visible;
    padding-bottom: 0;
    scrollbar-width: none;
}
.hausmeister-tab-panel.hidden {
    display: none !important;
}
.hm-module-intro p {
    margin: 0;
}
.hm-module-head,
#softwarecenter-module,
#hausmeister-module,
.hausmeister-tab-panel,
[data-tab-panel],
[data-subtab-panel] {
    min-width: 0;
    max-width: 100%;
}
.hm-module-title-row {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    flex-wrap: nowrap;
}
.hm-module-icon {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eff6ff;
    color: #1d4ed8;
    border: 1px solid #bfdbfe;
    flex: 0 0 auto;
}
.hm-module-title {
    margin: 0 0 0.2rem 0;
    font-size: 1.125rem;
    line-height: 1.2;
}
.softwarecenter-tabs .admin-tab-button,
.softwarecenter-subtabs .admin-tab-button,
.hausmeister-tabs .admin-tab-button {
    max-width: 100%;
}
.softwarecenter-responsive-table td,
.hausmeister-responsive-table td,
.softwarecenter-responsive-table th,
.hausmeister-responsive-table th,
.softwarecenter-responsive-table td code,
.hausmeister-responsive-table td code,
.hm-log-pre,
#softwarecenter-module code,
#hausmeister-module code {
    overflow-wrap: anywhere;
    word-break: break-word;
}
.hausmeister-tabs .admin-tab-button {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    white-space: nowrap;
}
.hm-tab-badge {
    margin-left: 0.15rem;
    padding-inline: 0.45rem;
    font-size: 0.72rem;
}
.hausmeister-tab-panel .card {
    margin-bottom: 0;
}
.hm-kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.85rem;
}
.hm-kpi-card {
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    background: #ffffff;
    color: #0f172a;
    padding: 0.9rem 1rem;
    display: grid;
    gap: 0.2rem;
}
.hm-kpi-card strong {
    font-size: 1.15rem;
}
.hm-kpi-card span {
    color: #6b7280;
}
.hm-toolbar {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.85rem;
    align-items: end;
}
.hm-toolbar-actions,
.hm-inline-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}
.hm-inline-stats {
    margin-top: 0.2rem;
}
.hm-stat-pill,
.hm-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border: 1px solid #d1d5db;
    border-radius: 999px;
    background: #f8fafc;
    padding: 0.2rem 0.65rem;
    font-size: 0.8rem;
}
.hm-stat-pill strong {
    font-size: 0.82rem;
}
.hm-badge-ok {
    border-color: #bbf7d0;
    background: #f0fdf4;
    color: #166534;
}
.hm-badge-warn {
    border-color: #fde68a;
    background: #fffbeb;
    color: #92400e;
}
.hm-badge-danger {
    border-color: #fecaca;
    background: #fef2f2;
    color: #991b1b;
}
.hm-badge-info {
    border-color: #bfdbfe;
    background: #eff6ff;
    color: #1d4ed8;
}
.hm-badge-muted {
    color: #475569;
}
.hm-log-pre {
    white-space: pre-wrap;
    word-break: break-word;
    max-height: 18rem;
    overflow: auto;
    margin: 0;
}
.hm-report-textarea {
    width: 100%;
    min-height: 260px;
}
.hm-switch-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.hm-table-wrap {
    overflow-x: auto;
}
.hm-list-compact {
    display: grid;
    gap: 0.25rem;
}
.hausmeister-responsive-table {
    width: 100%;
    border-collapse: collapse;
}
.hausmeister-responsive-table thead {
    background: #f8fafc;
}
.hausmeister-responsive-table th,
.hausmeister-responsive-table td {
    padding: 0.7rem 0.75rem;
    border-bottom: 1px solid #e5e7eb;
    vertical-align: top;
    text-align: left;
}
body.dark .hm-kpi-card,
body.dark .hausmeister-responsive-table thead {
    background: #111827;
    border-color: #374151;
    color: #f8fafc;
}
body.dark .hm-module-icon {
    background: #172554;
    color: #bfdbfe;
    border-color: #1d4ed8;
}
body.dark .hm-stat-pill,
body.dark .hm-badge {
    background: #0f172a;
    border-color: #374151;
    color: #f8fafc;
}
body.dark .hm-badge-ok { color: #86efac; }
body.dark .hm-badge-warn { color: #fcd34d; }
body.dark .hm-badge-danger { color: #fca5a5; }
body.dark .hm-badge-info { color: #93c5fd; }
body.dark .hm-kpi-card span {
    color: #cbd5e1;
}
@media (max-width: 920px) {
    .hm-toolbar {
        grid-template-columns: 1fr;
    }
    .hm-switch-row {
        align-items: flex-start;
    }
    .hausmeister-responsive-table thead {
        display: none;
    }
    .hausmeister-responsive-table,
    .hausmeister-responsive-table tbody,
    .hausmeister-responsive-table tr,
    .hausmeister-responsive-table td {
        display: block;
        width: 100%;
    }
    .hausmeister-responsive-table tbody {
        display: grid;
        gap: 0.75rem;
    }
    .hausmeister-responsive-table tbody tr {
        border: 1px solid #e5e7eb;
        border-radius: 14px;
        padding: 0.75rem 0.85rem;
        background: #ffffff;
        box-sizing: border-box;
    }
    body.dark .hausmeister-responsive-table tbody tr {
        background: #111827;
        border-color: #374151;
    }
    .hausmeister-responsive-table tbody td {
        border: 0;
        padding: 0.25rem 0;
        display: grid;
        grid-template-columns: minmax(5.8rem, 7rem) minmax(0, 1fr);
        gap: 0.5rem;
    }
    .hausmeister-responsive-table tbody td::before {
        content: attr(data-label);
        font-size: 0.75rem;
        font-weight: 600;
        color: #6b7280;
    }
    body.dark .hausmeister-responsive-table tbody td::before {
        color: #94a3b8;
    }
}


.sidebar-section-label {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.78rem;
    margin-bottom: 0.65rem !important;
}
.sidebar-featured-link {
    font-weight: 700;
    border: 1px solid rgba(147, 197, 253, 0.38);
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.22), rgba(30, 41, 59, 0.18));
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.18);
}
.sidebar-featured-link.active,
.sidebar-featured-link:hover {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.34), rgba(37, 99, 235, 0.3));
}
.core-area-subnav-wrap {
    margin-top: 0;
    margin-bottom: 0.75rem;
}
.core-area-subnav {
    gap: 0.5rem;
    margin-bottom: 0;
}
.core-area-subnav-link.admin-tab-button {
    display: inline-flex !important;
    align-items: center;
    gap: 0.42rem;
    border-radius: 12px;
    background: color-mix(in srgb, var(--npc-admin-card-bg, #ffffff) 92%, #e2e8f0 8%);
}
.core-area-subnav-link.admin-tab-button.active {
    background: var(--npc-admin-card-bg, #ffffff);
    border-color: var(--npc-admin-nav-active-bg, #dbeafe);
    color: var(--npc-admin-nav-active-text, #0f172a);
}
@media (max-width: 900px) {
    .core-super-nav-link.admin-tab-button,
    .core-area-subnav-link.admin-tab-button {
        width: 100%;
        justify-content: flex-start;
    }
}


.system-settings-canvas-hint{margin-top:10px;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.18);font-size:.95rem;flex-wrap:wrap}
.system-settings-tab-nav .admin-tab-button[data-ss-tab="canvas"]{border-color:rgba(59,130,246,.28);background:rgba(59,130,246,.08)}
.system-settings-tab-nav .admin-tab-button[data-ss-tab="canvas"].active{background:rgba(59,130,246,.16)}


/* NextPrivyCore · Canvas Block Reparatur · v2.20.26 */
.system-settings-canvas-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.system-settings-canvas-card,.system-settings-canvas-block,.system-settings-canvas-upload-card,.system-settings-canvas-library-column{background:#ffffff;border:1px solid #dbe4f0;border-radius:18px;box-shadow:0 10px 24px rgba(15,23,42,.06)}.system-settings-canvas-card{padding:14px 16px;display:grid;gap:6px}.system-settings-canvas-card-label{font-size:.82rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.04em}.system-settings-canvas-card strong{font-size:1rem;color:#0f172a}.system-settings-canvas-card small{color:#64748b;line-height:1.35}.system-settings-canvas-grid{display:grid;gap:16px}.system-settings-canvas-block{padding:16px}.system-settings-canvas-block-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}.system-settings-canvas-block-head h3{margin:0 0 4px;font-size:1.02rem}.system-settings-canvas-block-head p{margin:0;color:#64748b}.system-settings-canvas-library-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;border:1px solid #dbe4f0;border-radius:18px;background:linear-gradient(180deg,#ffffff,#f8fbff);margin:18px 0}.system-settings-canvas-library-bar strong{display:block;color:#0f172a}.system-settings-canvas-library-bar small{display:block;color:#64748b;line-height:1.35}.system-settings-preview-shell--desktop{margin-top:8px;border:1px solid #dbe4f0;border-radius:20px;overflow:hidden;background:#f8fbff}.system-settings-preview-nav{padding:12px 16px;background:#0f172a;color:#f8fafc;font-weight:700}.system-settings-preview-card{padding:18px;background:linear-gradient(180deg,#ffffff,#eff6ff);border-top:1px solid #dbe4f0;color:#0f172a}.system-settings-actions{display:flex;justify-content:flex-end;gap:10px;align-items:center;margin-top:16px}.system-settings-canvas-modal-dialog{width:min(1180px,calc(100vw - 48px));max-width:1180px}.system-settings-canvas-modal-card{padding:0;overflow:hidden}.system-settings-modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid #dbe4f0;background:linear-gradient(180deg,#ffffff,#f8fbff)}.system-settings-modal-head h3{margin:0;font-size:1.08rem}.system-settings-canvas-modal-body{padding:18px;display:grid;gap:16px;max-height:calc(100vh - 180px);overflow:auto;background:#f4f7fb}.system-settings-canvas-modal-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.system-settings-canvas-modal-toolbar strong{display:block;color:#0f172a}.system-settings-canvas-modal-toolbar small{display:block;color:#64748b;line-height:1.35}.system-settings-canvas-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.system-settings-canvas-upload-card{padding:16px;display:grid;gap:10px}.system-settings-canvas-upload-card h4{margin:0;font-size:1rem}.system-settings-canvas-upload-card p{margin:0;color:#64748b;line-height:1.35}.system-settings-canvas-upload-card label{display:grid;gap:6px}.system-settings-canvas-upload-card input[type="text"],.system-settings-canvas-upload-card input[type="file"]{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px;background:#fff;color:#0f172a}.system-settings-canvas-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.system-settings-canvas-library-column{padding:16px;display:grid;gap:12px;min-height:320px}.system-settings-canvas-library-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.system-settings-canvas-library-head h4{margin:0;font-size:1rem}.system-settings-canvas-library-head span{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:4px 10px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-weight:700}.system-settings-canvas-library-list{display:grid;gap:12px;align-content:start}.system-settings-canvas-library-empty{padding:18px;border:1px dashed #cbd5e1;border-radius:14px;background:#fff;color:#64748b;text-align:center}.system-settings-canvas-thumb-card{display:grid;grid-template-columns:132px 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid #dbe4f0;border-radius:16px;background:#fff}.system-settings-canvas-thumb-image{width:132px;height:82px;border-radius:12px;overflow:hidden;background:#e2e8f0}.system-settings-canvas-thumb-image img{width:100%;height:100%;object-fit:cover;display:block}.system-settings-canvas-thumb-copy{display:grid;gap:4px;min-width:0}.system-settings-canvas-thumb-copy strong{color:#0f172a}.system-settings-canvas-thumb-copy small{color:#64748b}.system-settings-canvas-thumb-actions{display:flex;justify-content:flex-end}.system-settings-canvas-thumb-protected{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;background:#ecfdf5;color:#166534;font-size:.82rem;font-weight:700}@media (max-width: 980px){.system-settings-canvas-overview,.system-settings-canvas-upload-grid,.system-settings-canvas-library-grid{grid-template-columns:1fr}.system-settings-canvas-thumb-card{grid-template-columns:1fr}.system-settings-canvas-thumb-image{width:100%;height:140px}}
