:root {
    color-scheme: light dark;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.5;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    min-height: 100vh;
    background: #f4f6f8;
    color: #18202a;
}

main {
    width: min(920px, calc(100% - 2rem));
    margin: 4rem auto;
}

.card {
    background: #fff;
    border: 1px solid #dfe4ea;
    border-radius: 16px;
    padding: 2rem;
    box-shadow: 0 12px 35px rgba(24, 32, 42, 0.08);
}

.badge {
    display: inline-block;
    border-radius: 999px;
    padding: .25rem .65rem;
    background: #e8eef7;
    font-size: .875rem;
}

h1 { margin: .75rem 0 .5rem; font-size: clamp(2rem, 5vw, 3.5rem); }

p { max-width: 68ch; }

dl { display: grid; grid-template-columns: max-content 1fr; gap: .5rem 1rem; margin-top: 2rem; }
dt { font-weight: 700; }
dd { margin: 0; }
code { background: #eef1f5; padding: .1rem .35rem; border-radius: .3rem; }
a { color: inherit; }

@media (prefers-color-scheme: dark) {
    body { background: #101419; color: #e9edf2; }
    .card { background: #171d24; border-color: #2b3440; box-shadow: none; }
    .badge, code { background: #27313d; }
}

/* Installationsdiagnose – seit Version 0.1.4 */
.diagnostic-login { max-width: 720px; margin-inline: auto; }
.diagnostic-login form { display: grid; gap: .75rem; margin: 1.5rem 0; }
.diagnostic-login label { font-weight: 700; }
.diagnostic-login input {
    width: 100%;
    border: 1px solid #bcc6d2;
    border-radius: .6rem;
    padding: .8rem .9rem;
    font: inherit;
    background: #fff;
    color: #18202a;
}
.diagnostic-login button {
    justify-self: start;
    border: 0;
    border-radius: .6rem;
    padding: .8rem 1rem;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    background: #18202a;
    color: #fff;
}
.muted { opacity: .75; font-size: .95rem; }
.notice {
    display: grid;
    gap: .25rem;
    margin: 1.25rem 0;
    border: 1px solid;
    border-radius: .7rem;
    padding: .9rem 1rem;
}
.notice-fail { border-color: #b42318; background: #fff1f0; color: #7a271a; }
.notice-warning { border-color: #b54708; background: #fffaeb; color: #7a2e0e; }
.diagnostic-page { width: min(1100px, calc(100% - 2rem)); }
.diagnostic-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
    margin: 1.5rem 0 2rem;
}
.diagnostic-summary > div {
    display: grid;
    gap: .1rem;
    border: 1px solid #dfe4ea;
    border-radius: .8rem;
    padding: 1rem;
}
.diagnostic-summary strong { font-size: 1.8rem; }
.summary-pass { border-left: .35rem solid #067647 !important; }
.summary-warning { border-left: .35rem solid #b54708 !important; }
.summary-fail { border-left: .35rem solid #b42318 !important; }
.diagnostic-group { margin-top: 2rem; }
.diagnostic-group h2 { margin-bottom: .75rem; }
.diagnostic-list { display: grid; gap: .6rem; }
.diagnostic-item {
    display: grid;
    grid-template-columns: 2rem 1fr;
    gap: .8rem;
    align-items: start;
    border: 1px solid #dfe4ea;
    border-radius: .7rem;
    padding: .85rem 1rem;
}
.diagnostic-item h3 { margin: 0; font-size: 1rem; }
.diagnostic-item p { margin: .2rem 0 0; }
.diagnostic-status {
    display: grid;
    place-items: center;
    width: 1.8rem;
    height: 1.8rem;
    border-radius: 50%;
    font-weight: 800;
}
.diagnostic-pass .diagnostic-status { background: #dcfae6; color: #067647; }
.diagnostic-warning .diagnostic-status { background: #fef0c7; color: #b54708; }
.diagnostic-fail .diagnostic-status { background: #fee4e2; color: #b42318; }

@media (max-width: 640px) {
    .diagnostic-summary { grid-template-columns: 1fr; }
}

@media (prefers-color-scheme: dark) {
    .diagnostic-login input { background: #101419; color: #e9edf2; border-color: #3c4857; }
    .diagnostic-login button { background: #e9edf2; color: #101419; }
    .notice-fail { background: #3b1714; color: #ffd5d2; border-color: #d92d20; }
    .notice-warning { background: #3b250d; color: #fedf89; border-color: #dc6803; }
    .diagnostic-summary > div, .diagnostic-item { border-color: #2b3440; }
}

/* Erweiterter Diagnoseschutz – seit Version 0.1.5 */
.notice-info { border-color: #175cd3; background: #eff8ff; color: #1849a9; }
.notice ul { margin: .35rem 0 0; padding-left: 1.25rem; }
.notice li + li { margin-top: .25rem; }

/* Authentifizierung – seit Version 0.2.2 */
.auth-page { width: min(720px, calc(100% - 2rem)); }
.auth-card h1 { font-size: clamp(2rem, 5vw, 3rem); }
.auth-form { display: grid; gap: 1rem; margin-top: 1.5rem; }
.field { display: grid; gap: .4rem; }
.field label { font-weight: 700; }
.field input {
    width: 100%;
    border: 1px solid #bcc6d2;
    border-radius: .6rem;
    padding: .8rem .9rem;
    font: inherit;
    background: #fff;
    color: #18202a;
}
.field small { opacity: .75; }
.auth-form button,
.inline-form button {
    justify-self: start;
    border: 0;
    border-radius: .6rem;
    padding: .8rem 1rem;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    background: #18202a;
    color: #fff;
}
.auth-links { margin: 1rem 0 0; }
.inline-form { margin-top: 1.5rem; }

@media (prefers-color-scheme: dark) {
    .field input { background: #101419; color: #e9edf2; border-color: #3c4857; }
    .auth-form button, .inline-form button { background: #e9edf2; color: #101419; }
}
.home-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem; margin-top: 1.5rem; }
.button-link {
    display: inline-block;
    border-radius: .6rem;
    padding: .75rem 1rem;
    text-decoration: none;
    font-weight: 700;
    background: #18202a;
    color: #fff;
}
.compact-form { margin: 0; }
.compact-form button { padding: .75rem 1rem; }
@media (prefers-color-scheme: dark) {
    .button-link { background: #e9edf2; color: #101419; }
}

/* Gruppen, Rollen und Rechte – seit Version 0.3.0 */
.admin-page { width: min(1100px, calc(100% - 2rem)); }
.access-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 2rem;
}
.access-grid > section,
.permission-section {
    border: 1px solid #dfe4ea;
    border-radius: .8rem;
    padding: 1rem;
}
.access-grid h2,
.permission-section h2 { margin: 0 0 .75rem; font-size: 1.2rem; }
.tag-list,
.permission-list { margin: 0; padding-left: 1.25rem; }
.tag-list li + li,
.permission-list li + li { margin-top: .45rem; }
.permission-section { margin-top: 1rem; }
.permission-list { columns: 2; column-gap: 2rem; }
.secondary-button { background: #344054; }
.account-access { margin-block: 1.5rem; }

@media (max-width: 700px) {
    .access-grid { grid-template-columns: 1fr; }
    .permission-list { columns: 1; }
}

@media (prefers-color-scheme: dark) {
    .access-grid > section,
    .permission-section { border-color: #2b3440; }
    .secondary-button { background: #cfd8e3; color: #101419; }
}

/* Benutzerübersicht und Rechte-Diagnose – seit Version 0.3.1 */
.filter-form {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(12rem, 1fr) auto;
    gap: 1rem;
    align-items: end;
    margin: 1.5rem 0;
}
.field select {
    width: 100%;
    border: 1px solid #bcc6d2;
    border-radius: .6rem;
    padding: .8rem .9rem;
    font: inherit;
    background: #fff;
    color: #18202a;
}
.filter-actions {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding-bottom: .05rem;
}
.filter-actions button,
.permission-check-form button {
    border: 0;
    border-radius: .6rem;
    padding: .8rem 1rem;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    background: #18202a;
    color: #fff;
}
.result-count { margin: 1rem 0; }
.table-wrap { overflow-x: auto; border: 1px solid #dfe4ea; border-radius: .8rem; }
.data-table { width: 100%; border-collapse: collapse; min-width: 760px; }
.data-table th,
.data-table td { padding: .85rem 1rem; text-align: left; vertical-align: top; border-bottom: 1px solid #e8ecf1; }
.data-table th { background: #f7f9fb; font-size: .9rem; }
.data-table tbody tr:last-child td { border-bottom: 0; }
.table-action { text-align: right !important; white-space: nowrap; }
.status-badge {
    display: inline-block;
    border-radius: 999px;
    padding: .2rem .6rem;
    font-size: .85rem;
    font-weight: 700;
    background: #eef1f5;
}
.status-active { background: #dcfae6; color: #067647; }
.status-pending { background: #fef0c7; color: #93370d; }
.status-blocked,
.status-disabled { background: #fee4e2; color: #b42318; }
.pagination {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 1rem;
    margin-top: 1rem;
}
.pagination > :last-child { text-align: right; }
.pagination span[aria-disabled="true"] { opacity: .45; }
.details-grid { grid-template-columns: minmax(10rem, max-content) minmax(0, 1fr); }
.permission-check-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: end;
    margin-top: 1rem;
}
.notice-success { border-color: #067647; background: #ecfdf3; color: #05603a; }
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 760px) {
    .filter-form,
    .permission-check-form { grid-template-columns: 1fr; }
    .filter-actions { align-items: flex-start; }
    .pagination { grid-template-columns: 1fr; text-align: left; }
    .pagination > :last-child { text-align: left; }
    .details-grid { grid-template-columns: 1fr; }
    .details-grid dt { margin-top: .45rem; }
}

@media (prefers-color-scheme: dark) {
    .field select { background: #101419; color: #e9edf2; border-color: #3c4857; }
    .filter-actions button,
    .permission-check-form button { background: #e9edf2; color: #101419; }
    .table-wrap { border-color: #2b3440; }
    .data-table th { background: #202731; }
    .data-table th,
    .data-table td { border-color: #2b3440; }
    .status-badge { background: #27313d; }
    .status-active { background: #123d2a; color: #abefc6; }
    .status-pending { background: #4a2c0a; color: #fedf89; }
    .status-blocked,
    .status-disabled { background: #4a1714; color: #fecdca; }
    .notice-success { background: #123d2a; color: #abefc6; border-color: #32d583; }
}


/* Bearbeitende Benutzerverwaltung und Audit – seit Version 0.3.2 */
.status-management { margin-top: 2rem; }
.status-form {
    display: grid;
    grid-template-columns: minmax(12rem, .7fr) minmax(0, 1.3fr) auto;
    gap: 1rem;
    align-items: end;
    margin-top: 1rem;
}
.field textarea {
    width: 100%;
    resize: vertical;
    border: 1px solid #bcc6d2;
    border-radius: .6rem;
    padding: .8rem .9rem;
    font: inherit;
    background: #fff;
    color: #18202a;
}
.status-form button {
    border: 0;
    border-radius: .6rem;
    padding: .8rem 1rem;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    background: #18202a;
    color: #fff;
}
.audit-list { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.audit-entry { border: 1px solid #dfe4ea; border-radius: .7rem; padding: .85rem 1rem; }
.audit-entry p { margin: .25rem 0 0; }
.audit-heading { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem; }
.audit-result { border-radius: 999px; padding: .15rem .55rem; font-size: .82rem; font-weight: 700; background: #dcfae6; color: #067647; }
.audit-result-denied { background: #fee4e2; color: #b42318; }

@media (max-width: 860px) {
    .status-form { grid-template-columns: 1fr; }
    .status-form button { justify-self: start; }
}

@media (prefers-color-scheme: dark) {
    .field textarea { background: #101419; color: #e9edf2; border-color: #3c4857; }
    .status-form button { background: #e9edf2; color: #101419; }
    .audit-entry { border-color: #2b3440; }
    .audit-result { background: #123d2a; color: #abefc6; }
    .audit-result-denied { background: #4a1714; color: #fecdca; }
}

/* Gruppenverwaltung und Mitgliedschaften – seit Version 0.3.3 */
.group-table { min-width: 820px; }
.membership-form {
    display: grid;
    grid-template-columns: minmax(16rem, 1.5fr) repeat(2, minmax(12rem, 1fr));
    gap: 1rem;
    align-items: end;
    margin-top: 1rem;
}
.membership-reason-field { grid-column: 1 / -2; }
.membership-form button,
.remove-membership button {
    border: 0;
    border-radius: .6rem;
    padding: .8rem 1rem;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    background: #18202a;
    color: #fff;
}
.group-members-table { min-width: 960px; }
.membership-active { background: #dcfae6; color: #067647; }
.membership-scheduled { background: #eff8ff; color: #1849a9; }
.membership-expired { background: #eef1f5; color: #344054; }
.remove-membership { min-width: 13rem; }
.remove-membership summary { cursor: pointer; text-decoration: underline; }
.remove-membership form { display: grid; gap: .5rem; margin-top: .75rem; text-align: left; }
.remove-membership label { font-weight: 700; }
.remove-membership textarea {
    width: 100%;
    resize: vertical;
    border: 1px solid #bcc6d2;
    border-radius: .6rem;
    padding: .65rem;
    font: inherit;
    background: #fff;
    color: #18202a;
}
.remove-membership .danger-button { background: #b42318; }

@media (max-width: 900px) {
    .membership-form { grid-template-columns: 1fr; }
    .membership-reason-field { grid-column: auto; }
    .membership-form button { justify-self: start; }
}

@media (prefers-color-scheme: dark) {
    .membership-form button,
    .remove-membership button { background: #e9edf2; color: #101419; }
    .remove-membership textarea { background: #101419; color: #e9edf2; border-color: #3c4857; }
    .remove-membership .danger-button { background: #f97066; color: #101419; }
    .membership-active { background: #123d2a; color: #abefc6; }
    .membership-scheduled { background: #102a56; color: #b2ddff; }
    .membership-expired { background: #27313d; color: #d0d5dd; }
}

/* Gruppenstammdaten – seit Version 0.3.4 */
.group-form,
.group-delete-form {
    display: grid;
    gap: 1rem;
    margin-top: 1.5rem;
}
.group-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.group-description-field,
.group-reason-field,
.group-form .form-actions {
    grid-column: 1 / -1;
}
.field-hint {
    margin: .35rem 0 0;
    color: #667085;
    font-size: .9rem;
}
.form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
}
.group-form button,
.group-delete-form button {
    border: 0;
    border-radius: .6rem;
    padding: .8rem 1rem;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    background: #18202a;
    color: #fff;
    justify-self: start;
}
.danger-zone {
    margin-top: 2rem;
    border-color: #fda29b;
}
.danger-zone h2 { color: #b42318; }
.group-delete-form {
    max-width: 46rem;
}
.group-delete-form .danger-button {
    background: #b42318;
}
.compact-details { margin-block: 1rem; }

@media (max-width: 760px) {
    .group-form { grid-template-columns: 1fr; }
    .group-description-field,
    .group-reason-field,
    .group-form .form-actions { grid-column: auto; }
}

@media (prefers-color-scheme: dark) {
    .field-hint { color: #98a2b3; }
    .group-form button,
    .group-delete-form button { background: #e9edf2; color: #101419; }
    .danger-zone { border-color: #f97066; }
    .danger-zone h2 { color: #fda29b; }
    .group-delete-form .danger-button { background: #f97066; color: #101419; }
}

/* Rollenzuordnung zu Gruppen – seit Version 0.3.5 */
.role-assignment-list {
    display: grid;
    gap: .75rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.role-assignment-list > li {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    border: 1px solid #dfe4ea;
    border-radius: .7rem;
    padding: .85rem 1rem;
}
.role-assignment-form {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid #dfe4ea;
}
.role-assignment-form h3 { margin-top: 0; }
.role-assignment-form form {
    display: grid;
    grid-template-columns: minmax(14rem, 1fr) minmax(18rem, 1.5fr) auto;
    gap: 1rem;
    align-items: end;
}
.role-assignment-form button {
    border: 0;
    border-radius: .6rem;
    padding: .8rem 1rem;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    background: #18202a;
    color: #fff;
}

@media (max-width: 900px) {
    .role-assignment-list > li { display: grid; }
    .role-assignment-form form { grid-template-columns: 1fr; }
    .role-assignment-form button { justify-self: start; }
}

@media (prefers-color-scheme: dark) {
    .role-assignment-list > li,
    .role-assignment-form { border-color: #2b3440; }
    .role-assignment-form button { background: #e9edf2; color: #101419; }
}

/* Zentrale Menüführung – seit Version 0.3.9 */
.site-header {
    position: sticky;
    top: 0;
    z-index: 20;
    border-bottom: 1px solid #dfe4ea;
    background: rgba(255, 255, 255, .96);
    backdrop-filter: blur(12px);
}
.site-header-inner {
    width: min(1320px, calc(100% - 2rem));
    min-height: 4.5rem;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 1.25rem;
}
.site-brand {
    display: inline-flex;
    align-items: baseline;
    gap: .45rem;
    flex: 0 0 auto;
    text-decoration: none;
    font-weight: 800;
    letter-spacing: -.02em;
}
.site-brand small {
    color: #667085;
    font-size: .78rem;
    font-weight: 700;
}
.primary-navigation {
    display: flex;
    align-items: center;
    gap: .25rem;
    flex: 1 1 auto;
    min-width: 0;
}
.primary-nav-link {
    display: inline-flex;
    align-items: center;
    min-height: 2.55rem;
    border-radius: .6rem;
    padding: .5rem .75rem;
    text-decoration: none;
    font-weight: 650;
    color: #344054;
}
.primary-nav-link:hover { background: #f2f4f7; }
.primary-nav-link.is-active {
    background: #e8eef7;
    color: #101828;
}
.site-user {
    display: flex;
    align-items: center;
    gap: .65rem;
    flex: 0 0 auto;
}
.site-user-name {
    max-width: 13rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #475467;
    font-size: .9rem;
}
.site-logout-form { margin: 0; }
.site-logout-form button {
    border: 1px solid #cfd6df;
    border-radius: .6rem;
    padding: .55rem .75rem;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}
.site-logout-form button:hover { background: #f2f4f7; }

body > main { margin-top: 2rem; }
.admin-page {
    width: min(1320px, calc(100% - 2rem));
    display: grid;
    grid-template-columns: 15rem minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
    margin: 2rem auto 4rem;
}
.admin-sidebar {
    position: sticky;
    top: 5.75rem;
    border: 1px solid #dfe4ea;
    border-radius: 14px;
    padding: .75rem;
    background: #fff;
    box-shadow: 0 8px 24px rgba(24, 32, 42, .05);
}
.admin-sidebar-heading {
    display: grid;
    gap: .1rem;
    padding: .55rem .65rem .85rem;
    border-bottom: 1px solid #e8ecf1;
}
.admin-sidebar-heading span {
    color: #667085;
    font-size: .82rem;
}
.admin-menu-section { margin-top: .85rem; }
.admin-menu-section h2 {
    margin: 0 0 .3rem;
    padding: 0 .65rem;
    color: #667085;
    font-size: .72rem;
    line-height: 1.5;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.admin-menu-section nav { display: grid; gap: .15rem; }
.admin-menu-link {
    display: block;
    border-radius: .55rem;
    padding: .58rem .65rem;
    text-decoration: none;
    color: #344054;
    font-weight: 650;
}
.admin-menu-link:hover { background: #f2f4f7; }
.admin-menu-link.is-active {
    background: #e8eef7;
    color: #101828;
    box-shadow: inset .2rem 0 0 #344054;
}
.admin-page > .card { min-width: 0; }

@media (max-width: 960px) {
    .site-header-inner { flex-wrap: wrap; padding-block: .65rem; }
    .site-brand { order: 1; }
    .site-user { order: 2; margin-left: auto; }
    .primary-navigation { order: 3; width: 100%; overflow-x: auto; padding-bottom: .1rem; }
    .primary-nav-link { white-space: nowrap; }
    .admin-page { grid-template-columns: 1fr; }
    .admin-sidebar {
        position: static;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: .65rem;
    }
    .admin-sidebar-heading { grid-column: 1 / -1; }
    .admin-menu-section { margin-top: 0; }
}

@media (max-width: 620px) {
    .site-user-name { display: none; }
    .admin-sidebar { grid-template-columns: 1fr; }
    .admin-sidebar-heading { grid-column: auto; }
}

@media (prefers-color-scheme: dark) {
    .site-header {
        border-color: #2b3440;
        background: rgba(16, 20, 25, .95);
    }
    .site-brand small,
    .site-user-name,
    .admin-sidebar-heading span,
    .admin-menu-section h2 { color: #98a2b3; }
    .primary-nav-link,
    .admin-menu-link { color: #d0d5dd; }
    .primary-nav-link:hover,
    .admin-menu-link:hover,
    .site-logout-form button:hover { background: #222a34; }
    .primary-nav-link.is-active,
    .admin-menu-link.is-active { background: #27313d; color: #fff; }
    .admin-menu-link.is-active { box-shadow: inset .2rem 0 0 #d0d5dd; }
    .site-logout-form button { border-color: #3c4857; }
    .admin-sidebar {
        border-color: #2b3440;
        background: #171d24;
        box-shadow: none;
    }
    .admin-sidebar-heading { border-color: #2b3440; }
}

/* Individuelle Benutzerrechte – seit Version 0.3.10 */
.permission-override-form {
    display: grid;
    grid-template-columns: minmax(18rem, 1.5fr) minmax(12rem, .8fr) minmax(13rem, .8fr);
    gap: 1rem;
    align-items: end;
    margin: 1.25rem 0 1.5rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid #dfe4ea;
}
.permission-override-reason { grid-column: 1 / -2; }
.permission-override-form button,
.override-remove-form button {
    border: 0;
    border-radius: .6rem;
    padding: .8rem 1rem;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    background: #18202a;
    color: #fff;
}
.override-list {
    display: grid;
    gap: .85rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.override-entry {
    border: 1px solid #dfe4ea;
    border-radius: .75rem;
    padding: 1rem;
}
.override-expired { opacity: .72; }
.override-heading {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
}
.override-heading > div { display: grid; gap: .25rem; }
.effect-badge {
    display: inline-block;
    border-radius: 999px;
    padding: .2rem .6rem;
    font-size: .82rem;
    font-weight: 700;
    white-space: nowrap;
}
.effect-allow { background: #dcfae6; color: #067647; }
.effect-deny { background: #fee4e2; color: #b42318; }
.override-remove-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: end;
    margin-top: .85rem;
    padding-top: .85rem;
    border-top: 1px solid #e8ecf1;
}
.override-remove-form .danger-button { background: #b42318; }

@media (max-width: 900px) {
    .permission-override-form,
    .override-remove-form { grid-template-columns: 1fr; }
    .permission-override-reason { grid-column: auto; }
    .permission-override-form button,
    .override-remove-form button { justify-self: start; }
}

@media (prefers-color-scheme: dark) {
    .permission-override-form,
    .override-remove-form { border-color: #2b3440; }
    .override-entry { border-color: #2b3440; }
    .permission-override-form button,
    .override-remove-form button { background: #e9edf2; color: #101419; }
    .override-remove-form .danger-button { background: #f97066; color: #101419; }
    .effect-allow { background: #123d2a; color: #abefc6; }
    .effect-deny { background: #4a1714; color: #fecdca; }
}

/* Strukturierte Audit-Änderungen – seit Version 0.4.2 */
.audit-changes {
    margin-top: .75rem;
    padding: .75rem;
    border-radius: .6rem;
    background: #f7f9fc;
}
.audit-change-list {
    display: grid;
    gap: .45rem;
    margin: .55rem 0 0;
}
.audit-change {
    display: grid;
    grid-template-columns: minmax(8rem, .7fr) minmax(0, 1.8fr);
    gap: .75rem;
    align-items: start;
}
.audit-change dt { font-weight: 700; }
.audit-change dd {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    gap: .5rem;
    margin: 0;
    align-items: baseline;
}
.audit-value-before { color: #667085; overflow-wrap: anywhere; }
.audit-value-after { font-weight: 700; overflow-wrap: anywhere; }
.audit-arrow { color: #667085; }

@media (max-width: 680px) {
    .audit-change { grid-template-columns: 1fr; gap: .2rem; }
}

@media (prefers-color-scheme: dark) {
    .audit-changes { background: #171d24; }
    .audit-value-before,
    .audit-arrow { color: #98a2b3; }
}

/* Hilfe und Gebrauchsanleitung – seit Version 0.4.5 */
.help-page {
    width: min(1180px, calc(100% - 2rem));
    margin: 2rem auto;
}
.help-header-card { margin-bottom: 1rem; }
.help-search-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: .8rem;
    align-items: end;
    margin-top: 1.5rem;
}
.help-search-form button {
    border: 0;
    border-radius: .6rem;
    padding: .8rem 1rem;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    background: #18202a;
    color: #fff;
}
.help-search-form > a { padding-bottom: .8rem; }
.help-category-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
.help-category-card h2 { margin-top: 0; }
.help-article-list,
.help-result-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: .75rem;
}
.help-article-list a,
.help-result-list a {
    display: grid;
    gap: .2rem;
    border: 1px solid #dfe4ea;
    border-radius: .7rem;
    padding: .9rem 1rem;
    text-decoration: none;
}
.help-article-list a:hover,
.help-article-list a:focus-visible,
.help-result-list a:hover,
.help-result-list a:focus-visible {
    border-color: #667085;
    background: #f7f9fb;
}
.help-article-list span,
.help-result-list span,
.help-result-list p { color: #475467; }
.help-result-list p { margin: .35rem 0 0; }
.help-results { margin-bottom: 1rem; }
.help-article-layout {
    display: grid;
    grid-template-columns: minmax(14rem, 18rem) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}
.help-toc {
    position: sticky;
    top: 1rem;
    padding: 1.1rem;
}
.help-toc h2 { margin: 1rem 0 .5rem; font-size: 1rem; }
.help-toc nav { display: grid; gap: .25rem; }
.help-toc nav a {
    border-radius: .4rem;
    padding: .45rem .55rem;
    text-decoration: none;
}
.help-toc nav a:hover,
.help-toc nav a:focus-visible { background: #eef1f5; }
.help-back-link { display: inline-block; margin-bottom: .45rem; }
.help-summary { font-size: 1.1rem; }
.help-section {
    scroll-margin-top: 1rem;
    border-top: 1px solid #e4e7ec;
    padding-top: 1.4rem;
    margin-top: 1.4rem;
}
.help-section h2 { display: flex; align-items: baseline; gap: .5rem; }
.help-anchor { opacity: .35; text-decoration: none; }
.help-section h2:hover .help-anchor,
.help-anchor:focus { opacity: 1; }
.help-steps { padding-left: 1.35rem; }
.help-steps li + li,
.help-section li + li { margin-top: .4rem; }
.help-action-link { margin-top: .5rem; }
.admin-context-help {
    display: inline-block;
    margin-top: .55rem;
    font-size: .86rem;
    font-weight: 700;
}
.context-help-link { margin: -.35rem 0 .9rem; }
.context-help-notice a { font-weight: 700; }

@media (max-width: 820px) {
    .help-category-grid,
    .help-article-layout { grid-template-columns: 1fr; }
    .help-toc { position: static; }
    .help-search-form { grid-template-columns: 1fr; }
    .help-search-form > a { padding-bottom: 0; }
}

@media (prefers-color-scheme: dark) {
    .help-search-form button { background: #e9edf2; color: #101419; }
    .help-article-list a,
    .help-result-list a,
    .help-section { border-color: #2b3440; }
    .help-article-list a:hover,
    .help-article-list a:focus-visible,
    .help-result-list a:hover,
    .help-result-list a:focus-visible,
    .help-toc nav a:hover,
    .help-toc nav a:focus-visible { background: #202731; }
    .help-article-list span,
    .help-result-list span,
    .help-result-list p { color: #b8c2cf; }
}

/* Konto- und Passwortverwaltung – seit 0.5.0 */
.account-card-wide { width: min(100%, 68rem); }
.account-actions,
.form-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    align-items: center;
    margin: 1.25rem 0;
}
.button-link.secondary { background: #e8edf4; color: #18202a; }
.account-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
.field-span-2 { grid-column: 1 / -1; }
.checkbox-field {
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    font-weight: 600;
    margin: .4rem 0;
}
.checkbox-field input { width: auto; margin-top: .2rem; }
.field-help { margin-top: -.35rem; color: #667085; font-size: .9rem; }
.generated-link-box {
    display: grid;
    gap: .45rem;
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid currentColor;
    border-radius: .65rem;
    background: rgba(255,255,255,.55);
}
.generated-link-box input { width: 100%; }
.password-management h3 { margin-top: 0; }

@media (max-width: 720px) {
    .account-form-grid { grid-template-columns: 1fr; }
    .field-span-2 { grid-column: auto; }
}

/* Sitzungs- und Geräteverwaltung – seit Version 0.5.3 */
.account-session-card { width: min(100%, 72rem); }
.device-list {
    display: grid;
    gap: .85rem;
    margin-top: 1rem;
}
.device-card {
    border: 1px solid #dfe4ea;
    border-radius: .75rem;
    padding: 1rem;
    background: #fff;
}
.device-card-current {
    border-color: #2e90fa;
    box-shadow: inset 4px 0 0 #2e90fa;
}
.device-card-header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    margin-bottom: .75rem;
}
.device-card h3 { margin: 0 0 .4rem; }
.compact-definition-list {
    display: grid;
    grid-template-columns: minmax(9rem, auto) minmax(0, 1fr);
    gap: .35rem .8rem;
    margin: 0 0 .85rem;
}
.compact-definition-list dt { font-weight: 700; }
.compact-definition-list dd { margin: 0; overflow-wrap: anywhere; }
.status-pill {
    display: inline-block;
    border-radius: 999px;
    padding: .2rem .55rem;
    font-size: .82rem;
    font-weight: 700;
}
.status-active { background: #dcfae6; color: #067647; }
.status-revoked { background: #fee4e2; color: #b42318; }
.status-expired { background: #f2f4f7; color: #475467; }
.section-heading-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
}

@media (max-width: 680px) {
    .compact-definition-list { grid-template-columns: 1fr; gap: .15rem; }
    .compact-definition-list dd { margin-bottom: .45rem; }
    .device-card-header { display: block; }
}

@media (prefers-color-scheme: dark) {
    .device-card { background: #151b22; border-color: #2b3440; }
    .device-card-current { border-color: #53b1fd; box-shadow: inset 4px 0 0 #53b1fd; }
    .status-active { background: #123d2a; color: #abefc6; }
    .status-revoked { background: #4a1714; color: #fecdca; }
    .status-expired { background: #202731; color: #b8c2cf; }
}

/* E-Mail-System – seit Version 0.5.5 */
.mail-log-table { min-width: 1120px; }

/* Globale Wartungsankündigungen – seit Version 0.6.1 */
.maintenance-banner {
    border-bottom: 1px solid rgba(0, 0, 0, .15);
    padding: .75rem 1rem;
}
.maintenance-banner-inner {
    width: min(100%, 78rem);
    margin: 0 auto;
    display: flex;
    align-items: baseline;
    gap: .65rem 1rem;
}
.maintenance-banner strong { flex: 0 0 auto; }
.maintenance-banner-planned { background: #fff4cc; color: #5f4300; }
.maintenance-banner-active { background: #fee4e2; color: #8a1c13; }
.maintenance-banner-admin_only { background: #e9d7fe; color: #4a1f6f; }
.maintenance-banner-offline { background: #f2f4f7; color: #344054; }

@media (max-width: 720px) {
    .maintenance-banner-inner { display: block; }
    .maintenance-banner strong { display: block; margin-bottom: .3rem; }
}

@media (prefers-color-scheme: dark) {
    .maintenance-banner-planned { background: #4d3b08; color: #ffe69c; }
    .maintenance-banner-active { background: #4a1714; color: #fecdca; }
    .maintenance-banner-admin_only { background: #351653; color: #e9d7fe; }
    .maintenance-banner-offline { background: #202731; color: #d0d5dd; }
}

/* Wartungsformulare und versionsgebundene Asset-Auslieferung – seit Version 0.6.2 */
.maintenance-form {
    display: grid;
    gap: 1rem;
    margin-top: 1rem;
}
.maintenance-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-items: start;
}
.maintenance-form-grid > .field { min-width: 0; }
.maintenance-form-grid textarea { min-height: 8.5rem; }
.maintenance-form-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem;
}
.maintenance-form-actions button,
.maintenance-cancel-form button {
    border: 0;
    border-radius: .6rem;
    padding: .8rem 1rem;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    background: #18202a;
    color: #fff;
}
.maintenance-cancel-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: end;
    margin-top: 1rem;
}
.maintenance-cancel-form .danger { background: #b42318; }

@media (max-width: 760px) {
    .maintenance-form-grid,
    .maintenance-cancel-form { grid-template-columns: 1fr; }
    .maintenance-cancel-form button { justify-self: start; }
}

@media (prefers-color-scheme: dark) {
    .maintenance-form-actions button,
    .maintenance-cancel-form button { background: #e9edf2; color: #101419; }
    .maintenance-cancel-form .danger { background: #f97066; color: #101419; }
}

/* Globales Audit-Log – seit Version 0.7.0 */
.audit-page-card { min-width: 0; }
.audit-filter-form {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    align-items: end;
    margin: 1.5rem 0;
    padding: 1rem;
    border: 1px solid #dfe4ea;
    border-radius: .8rem;
    background: #f9fafb;
}
.audit-filter-wide { grid-column: span 2; }
.audit-filter-actions { grid-column: 1 / -1; padding-bottom: 0; }
.audit-global-list { margin-top: 1rem; }
.audit-global-entry { padding: 1rem 1.1rem; }
.audit-global-entry .audit-heading code { display: inline-block; margin-top: .3rem; font-size: .82rem; }
.audit-meta-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem 1rem;
    margin: 1rem 0 0;
}
.audit-meta-grid > div { min-width: 0; }
.audit-meta-grid dt { color: #667085; font-size: .82rem; font-weight: 700; }
.audit-meta-grid dd { margin: .15rem 0 0; overflow-wrap: anywhere; }
.audit-details { margin-top: .9rem; border-top: 1px solid #e8ecf1; padding-top: .75rem; }
.audit-details summary { cursor: pointer; font-weight: 700; }
.audit-details[open] summary { margin-bottom: .75rem; }
.audit-result-failed,
.audit-result-error { background: #fef0c7; color: #93370d; }

@media (max-width: 1050px) {
    .audit-filter-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .audit-meta-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
    .audit-filter-form { grid-template-columns: 1fr; }
    .audit-filter-wide,
    .audit-filter-actions { grid-column: 1; }
    .audit-meta-grid { grid-template-columns: 1fr; }
}

@media (prefers-color-scheme: dark) {
    .audit-filter-form { background: #171d24; border-color: #2b3440; }
    .audit-meta-grid dt { color: #98a2b3; }
    .audit-details { border-color: #2b3440; }
    .audit-result-failed,
    .audit-result-error { background: #4a2c0a; color: #fedf89; }
}

/* Neu geordnete administrative Benutzeransicht – seit Version 0.7.1 */
.user-detail-card { padding: clamp(1.25rem, 3vw, 2rem); }
.user-detail-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.5rem;
    align-items: end;
    padding-bottom: 1.4rem;
    border-bottom: 1px solid #e8ecf1;
}
.user-detail-heading { min-width: 0; }
.user-detail-back {
    display: inline-block;
    margin-bottom: .7rem;
    color: #475467;
    font-size: .92rem;
    font-weight: 700;
    text-decoration: none;
}
.user-detail-back:hover { text-decoration: underline; }
.user-detail-eyebrow,
.user-section-kicker {
    margin: 0;
    color: #667085;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.user-detail-title {
    margin: .15rem 0 .35rem;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.08;
    overflow-wrap: anywhere;
}
.user-detail-identity {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    align-items: center;
    color: #475467;
}
.user-detail-shortcuts {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .45rem;
}
.user-detail-shortcuts a {
    border: 1px solid #d0d5dd;
    border-radius: 999px;
    padding: .45rem .7rem;
    background: #fff;
    color: #344054;
    font-size: .88rem;
    font-weight: 700;
    text-decoration: none;
}
.user-detail-shortcuts a:hover,
.user-detail-shortcuts a:focus-visible { background: #f2f4f7; }
.user-detail-section {
    margin-top: 1.25rem;
    border: 1px solid #dfe4ea;
    border-radius: .9rem;
    padding: clamp(1rem, 2.5vw, 1.35rem);
    scroll-margin-top: 6rem;
}
.user-section-heading {
    display: flex;
    justify-content: space-between;
    gap: 1.25rem;
    align-items: flex-start;
    margin-bottom: 1rem;
}
.user-section-heading h2 { margin: .15rem 0 0; font-size: 1.35rem; }
.user-section-heading > p { margin: 0; color: #667085; font-size: .95rem; }
.user-section-heading > .button-link { flex: 0 0 auto; }
.user-facts-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
    margin: 0;
}
.user-fact {
    min-width: 0;
    border: 1px solid #e8ecf1;
    border-radius: .7rem;
    padding: .8rem .9rem;
    background: #f9fafb;
}
.user-fact dt { color: #667085; font-size: .8rem; }
.user-fact dd { margin-top: .2rem; overflow-wrap: anywhere; }
.user-fact-wide { grid-column: span 2; }
.user-status-form {
    display: grid;
    grid-template-columns: minmax(12rem, .65fr) minmax(0, 1.35fr) auto;
    gap: 1rem;
    align-items: end;
}
.user-form-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem;
}
.user-status-form button,
.user-action-panel button,
.user-override-form button {
    border: 0;
    border-radius: .6rem;
    padding: .8rem 1rem;
    background: #18202a;
    color: #fff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
}
.user-section-note { margin-bottom: 0; }
.user-password-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
.user-action-panel {
    display: grid;
    gap: 1rem;
    align-content: start;
    min-width: 0;
    margin: 0;
    border: 1px solid #e8ecf1;
    border-radius: .8rem;
    padding: 1rem;
    background: #f9fafb;
}
.user-action-panel h3,
.user-action-row h3,
.user-access-grid h3,
.user-subsection h3 { margin: 0; font-size: 1.08rem; }
.user-action-panel p,
.user-action-row p { margin: .35rem 0 0; }
.user-password-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
}
.user-action-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    margin-top: 1rem;
    border: 1px solid #e8ecf1;
    border-radius: .8rem;
    padding: 1rem;
}
.user-action-row .button-link { flex: 0 0 auto; }
.user-access-grid { margin-top: 0; }
.user-access-grid > section { background: #f9fafb; }
.user-subsection {
    margin-top: 1.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid #e8ecf1;
}
.user-subsection-heading { margin-bottom: .8rem; }
.user-subsection-heading p { margin: .35rem 0 0; }
.user-permission-check-form { margin-top: 0; }
.user-override-form {
    display: grid;
    grid-template-columns: minmax(18rem, 1.5fr) minmax(11rem, .75fr) minmax(13rem, .85fr);
    gap: 1rem;
    align-items: end;
    margin: 1rem 0 1.25rem;
}
.user-override-permission { min-width: 0; }
.user-override-reason { grid-column: 1 / -1; }
.user-override-actions { grid-column: 1 / -1; }
.user-permission-details {
    margin-top: 1.25rem;
    border: 1px solid #e8ecf1;
    border-radius: .8rem;
    padding: .9rem 1rem;
    background: #f9fafb;
}
.user-permission-details summary {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    cursor: pointer;
}
.user-permission-details summary span { color: #667085; font-size: .9rem; }
.user-permission-details[open] summary { margin-bottom: .8rem; }
.user-detail-section .audit-list { margin-top: .25rem; }

@media (max-width: 1100px) {
    .user-facts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .user-override-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .user-override-reason,
    .user-override-actions { grid-column: 1 / -1; }
}

@media (max-width: 850px) {
    .user-detail-header { grid-template-columns: 1fr; align-items: start; }
    .user-detail-shortcuts { justify-content: flex-start; }
    .user-status-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .user-status-form .user-form-actions { grid-column: 1 / -1; }
    .user-password-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .user-section-heading,
    .user-action-row { display: grid; grid-template-columns: 1fr; }
    .user-section-heading > .button-link,
    .user-action-row .button-link { justify-self: start; }
    .user-facts-grid,
    .user-status-form,
    .user-password-fields,
    .user-override-form { grid-template-columns: 1fr; }
    .user-fact-wide,
    .user-status-form .user-form-actions,
    .user-override-reason,
    .user-override-actions { grid-column: 1; }
    .user-detail-shortcuts a { flex: 1 1 auto; text-align: center; }
    .user-permission-details summary { align-items: flex-start; }
}

@media (prefers-color-scheme: dark) {
    .user-detail-header,
    .user-subsection { border-color: #2b3440; }
    .user-detail-back,
    .user-detail-identity,
    .user-detail-eyebrow,
    .user-section-kicker,
    .user-section-heading > p,
    .user-fact dt,
    .user-permission-details summary span { color: #98a2b3; }
    .user-detail-shortcuts a,
    .user-fact,
    .user-action-panel,
    .user-access-grid > section,
    .user-permission-details { background: #171d24; border-color: #2b3440; color: #e9edf2; }
    .user-detail-shortcuts a:hover,
    .user-detail-shortcuts a:focus-visible { background: #222a34; }
    .user-detail-section,
    .user-action-row { border-color: #2b3440; }
    .user-status-form button,
    .user-action-panel button,
    .user-override-form button { background: #e9edf2; color: #101419; }
}

/* Persönliche Startseite – seit Version 0.7.2 */
.account-preference-panel {
    margin-top: 2rem;
    padding-top: 1.75rem;
    border-top: 1px solid #dfe4ea;
}
.account-preference-panel h2 { margin-top: 0; }
.start-page-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: end;
    margin-top: 1.25rem;
}
.start-page-form button {
    border: 0;
    border-radius: .6rem;
    padding: .8rem 1rem;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    background: #18202a;
    color: #fff;
}
.start-page-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin: 1.25rem 0 0;
    padding: 0;
    list-style: none;
}
.start-page-options li {
    display: grid;
    gap: .25rem;
    padding: .85rem 1rem;
    border: 1px solid #dfe4ea;
    border-radius: .7rem;
}
.start-page-options span {
    color: #667085;
    font-size: .92rem;
}
@media (max-width: 760px) {
    .start-page-form,
    .start-page-options { grid-template-columns: 1fr; }
    .start-page-form button { justify-self: start; }
}
@media (prefers-color-scheme: dark) {
    .account-preference-panel,
    .start-page-options li { border-color: #2b3440; }
    .start-page-form button { background: #e9edf2; color: #101419; }
    .start-page-options span { color: #98a2b3; }
}

/* Audit-Lesbarkeit, Zugriffsquellen und Anmeldesicherheit – seit Version 0.7.4 */
.audit-heading { align-items: flex-start; }
.audit-result {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    min-height: 1.8rem;
    line-height: 1.2;
    white-space: nowrap;
}
.audit-entry-summary { max-width: 54rem; margin-top: .35rem !important; color: #475467; }
.audit-technical-key { margin: 0 0 .75rem !important; color: #667085; font-size: .86rem; }
.audit-summary-text { margin: 0 0 .75rem !important; }

.access-source-list {
    display: grid;
    gap: .65rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.access-source-list li {
    display: grid;
    gap: .2rem;
    padding: .75rem .85rem;
    border: 1px solid #e1e6ec;
    border-radius: .65rem;
    background: #fff;
}
.access-source-origin,
.access-source-validity { color: #667085; font-size: .88rem; }

.security-page-card { min-width: 0; }
.security-policy-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin: 1.25rem 0;
    padding: 1rem;
    border: 1px solid #dfe4ea;
    border-radius: .8rem;
    background: #f9fafb;
}
.security-policy-reason,
.security-policy-actions { grid-column: 1 / -1; }
.security-policy-actions button {
    border: 0;
    border-radius: .6rem;
    padding: .8rem 1rem;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    background: #18202a;
    color: #fff;
}
.security-policy-notes {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #e8ecf1;
}

@media (max-width: 720px) {
    .security-policy-form { grid-template-columns: 1fr; }
    .security-policy-reason,
    .security-policy-actions { grid-column: 1; }
}

@media (prefers-color-scheme: dark) {
    .audit-entry-summary,
    .audit-technical-key,
    .access-source-origin,
    .access-source-validity { color: #98a2b3; }
    .access-source-list li { background: #171d24; border-color: #2b3440; }
    .security-policy-form { background: #171d24; border-color: #2b3440; }
    .security-policy-actions button { background: #e9edf2; color: #101419; }
    .security-policy-notes { border-color: #2b3440; }
}

/* Anwendungskatalog und Freischaltungsanträge – seit Version 0.7.5 */
.application-page { align-items: flex-start; }
.application-card { width: min(1120px, calc(100% - 2rem)); }
.section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.25rem;
    margin-bottom: 1.25rem;
}
.section-heading h1 { margin-top: .2rem; }
.eyebrow {
    margin: 0;
    color: #667085;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.application-section + .application-section {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid #e1e6ec;
}
.application-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
.application-item,
.request-card {
    min-width: 0;
    padding: 1rem;
    border: 1px solid #dfe4ea;
    border-radius: .8rem;
    background: #fff;
}
.application-item-heading,
.request-card-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}
.application-item-heading h3,
.request-card-heading h2 { margin: 0 0 .25rem; }
.application-request-form { margin-top: 1rem; }
.compact-notice { margin: .75rem 0 0; padding: .7rem .8rem; }
.secondary-button {
    border: 1px solid #cfd6df;
    border-radius: .6rem;
    padding: .72rem .9rem;
    background: #eef2f6;
    color: #18202a;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}
.status-neutral { background: #eef2f6; color: #344054; }
.status-pending { background: #fff4cc; color: #7a4d00; }
.status-approved { background: #d8f8e4; color: #087443; }
.status-rejected { background: #fee4e2; color: #b42318; }
.status-cancelled { background: #eef2f6; color: #475467; }
.filter-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin: 1rem 0 1.25rem;
}
.filter-tabs a {
    padding: .55rem .75rem;
    border: 1px solid #d0d5dd;
    border-radius: 999px;
    text-decoration: none;
    color: #344054;
    background: #fff;
}
.filter-tabs a[aria-current="page"] {
    border-color: #18202a;
    background: #18202a;
    color: #fff;
}
.request-list { display: grid; gap: 1rem; }
.request-meta {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
    margin: 1rem 0;
}
.request-meta div {
    min-width: 0;
    padding: .65rem .75rem;
    border-radius: .6rem;
    background: #f6f8fa;
}
.request-meta dt { color: #667085; font-size: .78rem; font-weight: 700; }
.request-meta dd { margin: .2rem 0 0; overflow-wrap: anywhere; }
.request-reason,
.request-decision {
    margin-top: .9rem;
    padding-top: .9rem;
    border-top: 1px solid #e5e9ee;
}
.request-reason h3,
.request-decision h3 { margin: 0 0 .4rem; }
.request-actions-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #e5e9ee;
}
.request-actions-grid form {
    min-width: 0;
    padding: 1rem;
    border: 1px solid #e1e6ec;
    border-radius: .7rem;
    background: #f9fafb;
}
.request-actions-grid h3 { margin-top: 0; }

@media (max-width: 820px) {
    .application-grid,
    .request-actions-grid { grid-template-columns: 1fr; }
    .request-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
    .section-heading,
    .application-item-heading,
    .request-card-heading { flex-direction: column; }
    .request-meta { grid-template-columns: 1fr; }
}

@media (prefers-color-scheme: dark) {
    .eyebrow { color: #98a2b3; }
    .application-section + .application-section,
    .request-reason,
    .request-decision,
    .request-actions-grid { border-color: #2b3440; }
    .application-item,
    .request-card,
    .filter-tabs a { background: #171d24; border-color: #2b3440; color: #e9edf2; }
    .request-meta div,
    .request-actions-grid form { background: #11171e; border-color: #2b3440; }
    .secondary-button { background: #202833; color: #e9edf2; border-color: #364152; }
    .filter-tabs a[aria-current="page"] { background: #e9edf2; color: #101419; border-color: #e9edf2; }
}
