/* noine Bildschirmdesign 2.7.6.39-0
 * Eigenständige, von klaren Hosting-Oberflächen inspirierte Gestaltung.
 * Diese Datei wird ausschließlich für Bildschirmmedien geladen.
 */
@media screen {
    :root {
        --noine-accent: #e2013d;
        --noine-accent-dark: #bd0033;
        --noine-accent-soft: #fff0f4;
        --noine-action: #ffffff;
        --noine-action-dark: #282828;
        --noine-action-text: #242424;
        --noine-action-border: #bfc3c8;
        --noine-text: #24272c;
        --noine-muted: #687079;
        --noine-border: #dfe2e6;
        --noine-border-strong: #cbd0d6;
        --noine-surface: #ffffff;
        --noine-surface-soft: #f4f4f5;
        --noine-page: #f7f8fa;
        --noine-success: #178246;
        --noine-success-soft: #eaf8f0;
        --noine-warning: #9b6200;
        --noine-warning-soft: #fff6df;
        --noine-error: #bd2031;
        --noine-error-soft: #fff0f2;
        --noine-radius: 8px;
        --noine-shadow: 0 1px 2px rgba(20, 27, 37, .05), 0 5px 18px rgba(20, 27, 37, .045);
        --noine-sidebar-collapsed: 72px;
        --noine-sidebar-expanded: 292px;
        --noine-sidebar-current: var(--noine-sidebar-collapsed);
        --noine-topbar-height: 52px;
    }

    *,
    *::before,
    *::after {
        box-sizing: border-box;
    }

    body.noine-screen-theme {
        --noine-sidebar-current: var(--noine-sidebar-collapsed);
        min-height: 100vh;
        margin: 0;
        background: var(--noine-page);
        color: var(--noine-text);
        font-family: "Exo 2", Arial, sans-serif;
        font-size: 15px;
        line-height: 1.45;
        transition: padding-left .18s ease;
    }

    body.noine-screen-theme.sidebar-expanded {
        --noine-sidebar-current: var(--noine-sidebar-expanded);
    }

    body.noine-screen-theme a {
        color: #8e1837;
        text-underline-offset: 2px;
    }

    body.noine-screen-theme a:hover {
        color: var(--noine-accent);
    }

    body.noine-screen-theme :focus-visible {
        outline: 3px solid rgba(226, 1, 61, .24);
        outline-offset: 2px;
    }

    .app-icon-sprite {
        position: absolute;
        width: 0;
        height: 0;
        overflow: hidden;
    }

    .app-nav-icon {
        width: 20px;
        height: 20px;
        flex: 0 0 20px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.65;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    body.noine-screen-theme .app-sidebar {
        position: fixed;
        inset: 0 auto 0 0;
        z-index: 1000;
        display: flex;
        width: var(--noine-sidebar-current);
        min-width: 0;
        flex-direction: column;
        overflow-x: hidden;
        overflow-y: auto;
        padding: 0 8px 10px;
        border-right: 1px solid var(--noine-border);
        background: var(--noine-surface);
        box-shadow: none;
        transition: width .18s ease, transform .2s ease;
        scrollbar-width: thin;
    }

    .app-sidebar-brand {
        position: sticky;
        top: 0;
        z-index: 2;
        display: flex;
        min-height: 60px;
        align-items: center;
        justify-content: space-between;
        padding: 8px 5px 9px;
        border-bottom: 1px solid var(--noine-border);
        background: var(--noine-surface);
    }

    .app-sidebar-brand > a {
        display: flex;
        min-width: 0;
        align-items: center;
        gap: 10px;
        color: var(--noine-text) !important;
        text-decoration: none;
    }

    .app-brand-mark {
        display: grid;
        width: 40px;
        height: 40px;
        flex: 0 0 40px;
        place-items: center;
        border-radius: 10px;
        background: var(--noine-accent);
        color: #fff;
        font-size: 25px;
        font-weight: 800;
        line-height: 1;
    }

    .app-brand-name {
        overflow: hidden;
        opacity: 0;
        color: var(--noine-text);
        font-size: 22px;
        font-weight: 700;
        letter-spacing: .01em;
        white-space: nowrap;
        transition: opacity .12s ease;
    }

    .sidebar-expanded .app-brand-name {
        opacity: 1;
    }

    .app-sidebar-search {
        position: sticky;
        top: 0;
        z-index: 3;
        display: grid;
        min-height: 60px;
        grid-template-columns: minmax(0, 1fr) 40px;
        align-items: center;
        gap: 6px;
        padding: 9px 4px 10px;
        border-bottom: 1px solid var(--noine-border);
        background: var(--noine-surface);
    }

    .app-sidebar-search-label {
        position: absolute;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        border: 0;
        white-space: nowrap;
    }

    body.noine-screen-theme .app-sidebar-search input {
        width: 100%;
        min-width: 0;
        min-height: 40px;
        margin: 0;
        padding: 8px 11px;
        border-radius: 6px;
    }

    body.noine-screen-theme .app-sidebar-search button,
    body.noine-screen-theme .app-sidebar-search button:hover {
        display: grid;
        width: 40px;
        height: 40px;
        min-height: 40px;
        padding: 0;
        place-items: center;
        border: 0 !important;
        border-radius: 6px;
        background: var(--noine-action);
        box-shadow: none;
        color: var(--noine-action-text) !important;
    }

    body.noine-screen-theme .app-sidebar-search button:hover {
        border: 0 !important;
        background: var(--noine-action-dark);
        color: #fff !important;
    }

    body:not(.sidebar-expanded) .app-sidebar-search {
        grid-template-columns: 40px;
        justify-content: center;
    }

    body:not(.sidebar-expanded) .app-sidebar-search input {
        position: absolute;
        width: 1px;
        height: 1px;
        min-height: 0;
        padding: 0;
        overflow: hidden;
        border: 0;
        opacity: 0;
        pointer-events: none;
    }

    .app-sidebar-mobile-close {
        display: none;
        width: 36px;
        height: 36px;
        padding: 0;
        border: 0;
        background: transparent;
        color: var(--noine-muted);
        font-size: 28px;
        line-height: 1;
    }

    body.noine-screen-theme .topnav {
        position: static;
        display: block;
        width: 100%;
        min-height: 0;
        padding: 9px 0;
        border: 0;
        background: transparent;
        box-shadow: none;
        color: inherit;
    }

    body.noine-screen-theme .navlinks {
        display: flex;
        position: static;
        inset: auto;
        width: 100%;
        height: auto;
        flex-direction: column;
        align-items: stretch;
        gap: 2px;
        margin: 0;
        padding: 0;
        background: transparent;
        box-shadow: none;
        list-style: none;
    }

    .app-nav-item {
        display: block;
        width: 100%;
        min-width: 0;
        margin: 0;
        padding: 0;
    }

    .app-nav-parent-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 0;
        align-items: center;
        transition: grid-template-columns .18s ease;
    }

    .sidebar-expanded .app-nav-parent-row {
        grid-template-columns: minmax(0, 1fr) 36px;
    }

    body.noine-screen-theme .app-sidebar a.brand,
    body.noine-screen-theme .app-sidebar-utility > a,
    body.noine-screen-theme .app-sidebar-collapse {
        display: flex;
        width: 100%;
        min-width: 0;
        min-height: 42px;
        align-items: center;
        gap: 12px;
        margin: 0;
        padding: 9px 15px;
        overflow: hidden;
        border: 0;
        border-radius: 6px;
        background: transparent;
        box-shadow: none;
        color: #40454b !important;
        font: inherit;
        font-weight: 500;
        line-height: 1.2;
        text-align: left;
        text-decoration: none;
        white-space: nowrap;
        transition: background-color .14s ease, color .14s ease;
    }

    body.noine-screen-theme .topnav a.brand {
        justify-content: flex-start;
    }

    body.noine-screen-theme .app-sidebar a.brand:hover,
    body.noine-screen-theme .app-sidebar-utility > a:hover,
    body.noine-screen-theme .app-sidebar-collapse:hover,
    body.noine-screen-theme .app-nav-item.active > .app-nav-parent-row > a,
    body.noine-screen-theme .app-sidebar a.brand.active {
        background: var(--noine-surface-soft);
        color: var(--noine-accent) !important;
    }

    .app-nav-label {
        min-width: 0;
        overflow: hidden;
        opacity: 0;
        text-overflow: ellipsis;
        white-space: nowrap;
        transition: opacity .12s ease;
    }

    .sidebar-expanded .app-nav-label {
        opacity: 1;
    }

    .app-nav-submenu-toggle {
        display: grid;
        width: 32px;
        height: 32px;
        padding: 6px;
        overflow: hidden;
        place-items: center;
        border: 0;
        border-radius: 6px;
        background: transparent;
        box-shadow: none;
        color: var(--noine-muted);
        opacity: 0;
        pointer-events: none;
        transition: transform .15s ease, background-color .15s ease, opacity .12s ease;
    }

    .sidebar-expanded .app-nav-submenu-toggle {
        opacity: 1;
        pointer-events: auto;
    }

    .app-nav-submenu-toggle:hover {
        background: #e8e9eb;
        color: var(--noine-text);
    }

    .app-nav-submenu-toggle .app-nav-icon {
        width: 16px;
        height: 16px;
    }

    .app-nav-item.submenu-open .app-nav-submenu-toggle .app-nav-icon {
        transform: rotate(90deg);
    }

    .app-nav-submenu-host {
        display: none;
        position: relative;
        margin: 2px 0 7px 20px;
        padding: 2px 0 2px 15px;
    }

    .sidebar-expanded .app-nav-item.submenu-open > .app-nav-submenu-host {
        display: block;
    }

    .app-nav-submenu-host::before {
        content: "";
        position: absolute;
        top: 2px;
        bottom: 2px;
        left: 0;
        width: 2px;
        border-radius: 2px;
        background: #d6d9dd;
    }

    body.noine-screen-theme .app-nav-submenu-host .subnav {
        display: flex !important;
        width: 100%;
        min-width: 0;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 1px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.noine-screen-theme .app-nav-submenu-host .subnav a,
    body.noine-screen-theme .app-nav-submenu-host .subnav a:visited {
        display: block !important;
        min-height: 34px !important;
        margin: 0 !important;
        padding: 7px 9px !important;
        overflow: hidden;
        border: 0 !important;
        border-radius: 5px !important;
        background: transparent !important;
        color: #555b63 !important;
        font-size: 13px !important;
        font-weight: 450 !important;
        line-height: 1.35 !important;
        text-align: left !important;
        text-decoration: none !important;
        text-overflow: ellipsis;
        white-space: normal;
    }

    body.noine-screen-theme .app-nav-submenu-host .subnav a:hover,
    body.noine-screen-theme .app-nav-submenu-host .subnav a.active,
    body.noine-screen-theme .app-nav-submenu-host .subnav a.active:visited {
        background: var(--noine-surface-soft) !important;
        color: var(--noine-accent) !important;
    }

    body.noine-screen-theme .app-nav-submenu-host .subnav a.danger-subnav {
        color: var(--noine-error) !important;
    }

    body.noine-screen-theme .app-nav-submenu-host .kundendetail-overview-link {
        font-size: 13.5px !important;
        font-weight: 650 !important;
    }

    body.noine-screen-theme .app-nav-submenu-host .kundendetail-overview-number {
        margin-top: 2px;
        color: var(--noine-muted);
        font-size: 11px;
        font-weight: 500;
    }

    body.noine-screen-theme .app-nav-submenu-host .kundendetail-taetigkeit-btn {
        display: block !important;
        width: calc(100% - 4px) !important;
        min-height: 0 !important;
        margin: 3px 2px 7px !important;
        padding: 7px 9px !important;
        border: 1px solid var(--noine-action-border) !important;
        border-radius: 6px !important;
        background: var(--noine-action) !important;
        box-shadow: none !important;
        color: var(--noine-action-text) !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        line-height: 1.3 !important;
        text-align: left !important;
        white-space: normal !important;
    }

    body.noine-screen-theme .app-nav-submenu-host .kundendetail-taetigkeit-btn:hover {
        border-color: var(--noine-action-dark) !important;
        background: var(--noine-action-dark) !important;
        color: #fff !important;
    }

    .app-sidebar-utility {
        display: flex;
        width: 100%;
        flex-direction: column;
        gap: 2px;
        margin-top: auto;
        padding-top: 9px;
        border-top: 1px solid var(--noine-border);
    }

    .app-sidebar-utility .app-nav-danger {
        color: var(--noine-error) !important;
    }

    .app-sidebar-collapse .app-nav-icon {
        transition: transform .18s ease;
    }

    body:not(.sidebar-expanded) .app-sidebar-collapse .app-nav-icon {
        transform: rotate(180deg);
    }

    body.noine-screen-theme .userbar {
        position: fixed;
        inset: 0 0 auto var(--noine-sidebar-current);
        z-index: 800;
        display: flex;
        min-height: var(--noine-topbar-height);
        align-items: center;
        justify-content: flex-end;
        gap: 12px;
        padding: 8px 22px;
        border-bottom: 1px solid var(--noine-border);
        background: rgba(255, 255, 255, .96);
        box-shadow: none;
        color: var(--noine-muted);
        font-size: 13px;
        backdrop-filter: blur(8px);
        transition: left .18s ease;
    }

    body.noine-screen-theme .userbar strong {
        color: var(--noine-text);
        font-weight: 650;
    }

    body.noine-screen-theme .userbar a {
        color: #59616a;
        font-weight: 500;
        text-decoration: none;
    }

    body.noine-screen-theme .userbar a:hover {
        color: var(--noine-accent);
    }

    body.noine-screen-theme .userbar .userbar-logout {
        display: inline-flex;
        align-items: center;
        gap: 5px;
    }

    body.noine-screen-theme .userbar .userbar-logout .app-nav-icon {
        width: 16px;
        height: 16px;
        flex-basis: 16px;
    }

    body.noine-screen-theme .container {
        width: auto !important;
        max-width: none !important;
        min-height: calc(100vh - 42px);
        margin: 0 0 0 var(--noine-sidebar-current) !important;
        padding: calc(var(--noine-topbar-height) + 24px) clamp(18px, 2.6vw, 42px) 40px !important;
        transition: margin-left .18s ease;
    }

    body.noine-screen-theme .footer {
        display: flex;
        width: auto;
        min-height: 42px;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        margin: 0 0 0 var(--noine-sidebar-current);
        padding: 12px clamp(18px, 2.6vw, 42px);
        border-top: 1px solid var(--noine-border);
        background: #fff;
        color: var(--noine-muted);
        font-size: 12px;
        text-align: right;
        white-space: normal;
        transition: margin-left .18s ease;
    }

    body.noine-screen-theme .footer-system-warning {
        margin-right: auto;
        color: #3b4046;
        text-align: left;
    }

    body.noine-screen-theme .footer-meta {
        display: inline-flex;
        flex: 0 0 auto;
        gap: 4px;
        white-space: nowrap;
    }

    .app-mobile-menu-button,
    .app-sidebar-backdrop {
        display: none;
    }

    body.noine-screen-theme .submenu-workspace.submenu-relocated {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.noine-screen-theme .submenu-workspace.submenu-relocated > .submenu-workspace-content {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.noine-screen-theme h1.card {
        display: flex;
        min-height: 0;
        align-items: baseline;
        justify-content: space-between;
        gap: 18px;
        margin: 0 0 5px;
        padding: 0 0 12px;
        border: 0;
        border-bottom: 1px solid var(--noine-border);
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        color: var(--noine-text) !important;
        font-size: clamp(24px, 2.5vw, 34px);
        font-weight: 650;
        letter-spacing: -.015em;
    }

    body.noine-screen-theme h1.card .page-title-aside {
        color: var(--noine-muted);
        font-size: 13px;
        font-weight: 500;
        letter-spacing: 0;
    }

    body.noine-screen-theme h2,
    body.noine-screen-theme h3,
    body.noine-screen-theme h4 {
        color: var(--noine-text);
        letter-spacing: -.01em;
    }

    body.noine-screen-theme h2 {
        font-size: 20px;
        font-weight: 650;
    }

    body.noine-screen-theme h3 {
        font-size: 17px;
        font-weight: 650;
    }

    body.noine-screen-theme .card,
    body.noine-screen-theme .panel,
    body.noine-screen-theme fieldset {
        border: 1px solid var(--noine-border);
        border-radius: var(--noine-radius);
        background: var(--noine-surface);
        box-shadow: var(--noine-shadow);
        color: var(--noine-text);
    }

    body.noine-screen-theme .card {
        margin-bottom: 5px;
    }

    body.noine-screen-theme .kunden-overview-intro {
        display: grid;
        grid-template-columns: minmax(0, 1.35fr) minmax(310px, .65fr);
        align-items: start;
        gap: clamp(18px, 3vw, 42px);
        margin-bottom: 5px;
    }

    body.noine-screen-theme .kunden-overview-controls {
        display: flex;
        min-width: 0;
        flex-direction: column;
        gap: 5px;
    }

    body.noine-screen-theme .kunden-overview-controls > .card {
        width: 100%;
        margin-bottom: 0;
    }

    body.noine-screen-theme .kunden-inactive-filter {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
    }

    body.noine-screen-theme .kunden-inactive-filter label {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        margin: 0;
    }

    body.noine-screen-theme .kunden-summary {
        min-width: 0;
        padding: 8px 0;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    body.noine-screen-theme .kunden-overview-intro .kunden-summary-grid {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    body.noine-screen-theme .kunden-overview-intro .kunden-summary-grid > div {
        display: flex;
        align-items: baseline;
        gap: 5px;
        padding: 0px;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    body.noine-screen-theme .kunden-overview-intro .kunden-summary-grid strong {
        color: var(--noine-text);
        font-size: 1.25rem;
        font-weight: 650;
    }

    body.noine-screen-theme .kunden-overview-intro .kunden-summary-grid span {
        color: var(--noine-muted);
    }

    body.noine-screen-theme #kunden-overview-table thead tr:first-child th {
        position: sticky !important;
        top: var(--noine-topbar-height) !important;
        z-index: 111 !important;
    }

    body.noine-screen-theme #kunden-overview-table thead tr:nth-child(2) th {
        position: sticky !important;
        top: calc(var(--noine-topbar-height) + 37px) !important;
        z-index: 110 !important;
        padding: 0 !important;
    }

    body.noine-screen-theme #kunden-overview-table .kunden-column-filter {
        display: block;
        width: 100%;
        height: 100%;
        min-width: 0;
        min-height: 37px;
        margin: 0;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0;
        background: transparent;
        box-shadow: none !important;
    }

    body.noine-screen-theme #kunden-overview-table .kunden-column-filter:focus {
        border: 0 !important;
        background: #fff;
        box-shadow: inset 0 -2px var(--noine-action-dark) !important;
    }

    body.noine-screen-theme fieldset {
        padding: 18px;
    }

    body.noine-screen-theme legend {
        padding: 0 7px;
        color: var(--noine-text);
        font-weight: 650;
    }

    body.noine-screen-theme label {
        color: #343940;
        font-weight: 550;
    }

    body.noine-screen-theme input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
    body.noine-screen-theme select,
    body.noine-screen-theme textarea {
        min-height: 40px;
        padding: 9px 12px;
        border: 1px solid var(--noine-border-strong);
        border-radius: var(--noine-radius);
        background: #fff;
        box-shadow: inset 0 1px 1px rgba(20, 27, 37, .035);
        color: var(--noine-text);
        font-family: inherit;
        font-size: 14px;
        line-height: 1.35;
    }

    body.noine-screen-theme textarea {
        min-height: 96px;
    }

    body.noine-screen-theme input:not([type="checkbox"]):not([type="radio"]):focus,
    body.noine-screen-theme select:focus,
    body.noine-screen-theme textarea:focus {
        border-color: var(--noine-accent);
        outline: 0;
        box-shadow: 0 0 0 3px rgba(226, 1, 61, .13);
    }

    body.noine-screen-theme input:disabled,
    body.noine-screen-theme select:disabled,
    body.noine-screen-theme textarea:disabled,
    body.noine-screen-theme input[readonly],
    body.noine-screen-theme textarea[readonly] {
        background: #f2f3f5;
        color: #6f7780;
    }

    body.noine-screen-theme input[type="checkbox"],
    body.noine-screen-theme input[type="radio"] {
        accent-color: var(--noine-accent);
    }

    body.noine-screen-theme .kalender-year-form select,
    body.noine-screen-theme .kalender-year-form button {
        box-sizing: border-box;
        height: 40px;
        min-height: 40px !important;
        margin: 0;
    }

    body.noine-screen-theme button:not(.menu-toggle):not(.app-sidebar-mobile-close):not(.app-nav-submenu-toggle):not(.app-sidebar-collapse):not(.search-close):not(.secondary):not(.danger):not(.danger-button):not(.icon-button):not(.text-link-button),
    body.noine-screen-theme .btn:not(.secondary):not(.danger):not(.danger-button):not(.icon-button) {
        min-height: 38px;
        padding: 8px 15px;
        border: 1px solid var(--noine-action-border);
        border-radius: var(--noine-radius);
        background: var(--noine-action);
        box-shadow: 0 1px 1px rgba(20, 27, 37, .08);
        color: var(--noine-action-text) !important;
        font-family: inherit;
        font-size: 14px;
        font-weight: 600;
        line-height: 1.25;
        text-decoration: none;
    }

    body.noine-screen-theme button:not(.menu-toggle):not(.app-sidebar-mobile-close):not(.app-nav-submenu-toggle):not(.app-sidebar-collapse):not(.search-close):not(.secondary):not(.danger):not(.danger-button):not(.icon-button):not(.text-link-button):hover,
    body.noine-screen-theme button:not(.menu-toggle):not(.app-sidebar-mobile-close):not(.app-nav-submenu-toggle):not(.app-sidebar-collapse):not(.search-close):not(.secondary):not(.danger):not(.danger-button):not(.icon-button):not(.text-link-button):active,
    body.noine-screen-theme button:not(.menu-toggle):not(.app-sidebar-mobile-close):not(.app-nav-submenu-toggle):not(.app-sidebar-collapse):not(.search-close):not(.secondary):not(.danger):not(.danger-button):not(.icon-button):not(.text-link-button).active,
    body.noine-screen-theme .btn:not(.secondary):not(.danger):not(.danger-button):not(.icon-button):hover,
    body.noine-screen-theme .btn:not(.secondary):not(.danger):not(.danger-button):not(.icon-button):active,
    body.noine-screen-theme .btn:not(.secondary):not(.danger):not(.danger-button):not(.icon-button).active {
        border-color: var(--noine-action-dark);
        background: var(--noine-action-dark);
        color: #fff !important;
    }

    body.noine-screen-theme .btn.dashboard-action-btn.dashboard-vacation-btn:not(.secondary):not(.danger):not(.danger-button):not(.icon-button) {
        color: #fff !important;
    }

    body.noine-screen-theme button.secondary,
    body.noine-screen-theme .btn.secondary,
    body.noine-screen-theme .btn-secondary {
        border-color: var(--noine-border-strong);
        background: #fff;
        color: #3f454d !important;
    }

    body.noine-screen-theme button.secondary:hover,
    body.noine-screen-theme .btn.secondary:hover,
    body.noine-screen-theme .btn-secondary:hover {
        border-color: #aeb4bc;
        background: var(--noine-surface-soft);
        color: var(--noine-text) !important;
    }

    body.noine-screen-theme .danger-button,
    body.noine-screen-theme button.danger,
    body.noine-screen-theme .btn.danger {
        border-color: #9f1b2a;
        background: var(--noine-error);
        color: #fff !important;
    }

    body.noine-screen-theme .danger-button:hover,
    body.noine-screen-theme button.danger:hover,
    body.noine-screen-theme .btn.danger:hover {
        border-color: #801522;
        background: #9f1b2a;
    }

    body.noine-screen-theme button.icon-button,
    body.noine-screen-theme .btn.icon-button,
    body.noine-screen-theme .text-link-button {
        min-height: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent !important;
        box-shadow: none;
        color: #8e1837 !important;
    }

    body.noine-screen-theme button.icon-button:hover,
    body.noine-screen-theme .btn.icon-button:hover,
    body.noine-screen-theme .text-link-button:hover {
        background: transparent !important;
        color: var(--noine-accent) !important;
    }

    body.noine-screen-theme button:disabled,
    body.noine-screen-theme .btn.disabled {
        cursor: not-allowed;
        opacity: .55;
    }

    body.noine-screen-theme .table-wrap {
        overflow: auto;
        border: 1px solid var(--noine-border) !important;
        border-radius: var(--noine-radius) !important;
        background: #fff;
        box-shadow: var(--noine-shadow) !important;
    }

    body.noine-screen-theme .card > .table-wrap {
        box-shadow: none !important;
    }

    body.noine-screen-theme table {
        width: 100%;
        border-collapse: separate !important;
        border-spacing: 0 !important;
        background: #fff;
        color: var(--noine-text);
        font-size: 13px;
    }

    body.noine-screen-theme table th,
    body.noine-screen-theme table td,
    body.noine-screen-theme .table-wrap th,
    body.noine-screen-theme .table-wrap td {
        padding: 10px 16px !important;
        border: 0 !important;
        border-bottom: 1px solid #e7e9ec !important;
        background-clip: padding-box;
        color: var(--noine-text) !important;
        line-height: 1.35;
        text-align: left;
        vertical-align: middle;
    }

    body.noine-screen-theme table thead th,
    body.noine-screen-theme .table-wrap table thead th,
    body.noine-screen-theme table.sortable thead th,
    body.noine-screen-theme .card .table-wrap table thead th {
        background: var(--noine-surface-soft) !important;
        color: #3e444b !important;
        font-size: 12px;
        font-weight: 650 !important;
        letter-spacing: .015em;
        text-transform: none;
    }

    body.noine-screen-theme table tbody tr:nth-child(even) td,
    body.noine-screen-theme .table-wrap tbody tr:nth-child(even) td,
    body.noine-screen-theme table.sortable tbody tr:nth-child(even) td {
        background: #fafafb !important;
    }

    body.noine-screen-theme table tbody tr:hover td,
    body.noine-screen-theme .table-wrap tbody tr:hover td,
    body.noine-screen-theme table.sortable tbody tr:hover td {
        background: #f1f2f4 !important;
    }

    body.noine-screen-theme table tbody tr:last-child td {
        border-bottom: 0 !important;
    }

    body.noine-screen-theme .table-wrap a:not(.btn) {
        color: #8e1837 !important;
        font-weight: 550;
        text-decoration: none;
    }

    body.noine-screen-theme .table-wrap a:not(.btn):hover {
        color: var(--noine-accent) !important;
        text-decoration: underline;
    }

    body.noine-screen-theme .badge,
    body.noine-screen-theme .status,
    body.noine-screen-theme [class*="status-badge"] {
        display: inline-flex;
        min-height: 24px;
        align-items: center;
        gap: 6px;
        padding: 4px 9px;
        border: 1px solid #dfe2e5;
        border-radius: 999px;
        background: #f2f3f4;
        color: #4e555d !important;
        font-size: 11px;
        font-weight: 650;
        line-height: 1.2;
    }

    body.noine-screen-theme .badge.ok,
    body.noine-screen-theme .badge.success,
    body.noine-screen-theme .status.ok {
        border-color: #bfe5ce;
        background: var(--noine-success-soft);
        color: var(--noine-success) !important;
    }

    body.noine-screen-theme .badge.error,
    body.noine-screen-theme .badge.danger,
    body.noine-screen-theme .status.error {
        border-color: #f0c4ca;
        background: var(--noine-error-soft);
        color: var(--noine-error) !important;
    }

    body.noine-screen-theme .alert {
        margin: 0 0 16px;
        padding: 11px 14px;
        border: 1px solid #c9d9ec;
        border-left-width: 4px;
        border-radius: var(--noine-radius);
        background: #eef6ff;
        color: #214c76 !important;
        box-shadow: none;
    }

    body.noine-screen-theme .alert.ok {
        border-color: #acdabc;
        background: var(--noine-success-soft);
        color: #126f3c !important;
    }

    body.noine-screen-theme .alert.error {
        border-color: #e8b1ba;
        background: var(--noine-error-soft);
        color: #a61d2d !important;
    }

    body.noine-screen-theme .tabs,
    body.noine-screen-theme .tab-nav {
        gap: 3px;
        padding: 4px;
        border: 1px solid var(--noine-border);
        border-radius: var(--noine-radius);
        background: var(--noine-surface-soft);
    }

    body.noine-screen-theme .tabs a,
    body.noine-screen-theme .tab-nav a {
        border-radius: 6px;
        color: #565d65;
        text-decoration: none;
    }

    body.noine-screen-theme .tabs a.active,
    body.noine-screen-theme .tab-nav a.active {
        background: #fff;
        box-shadow: 0 1px 3px rgba(20, 27, 37, .1);
        color: var(--noine-accent);
    }

    body.noine-screen-theme .modal-backdrop,
    body.noine-screen-theme .search-modal {
        background: rgba(27, 30, 35, .52);
        backdrop-filter: blur(3px);
    }

    body.noine-screen-theme .modal-card,
    body.noine-screen-theme .search-dialog {
        border: 1px solid var(--noine-border);
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 20px 55px rgba(18, 23, 30, .22);
        color: var(--noine-text);
    }

    body.noine-screen-theme .search-close {
        color: var(--noine-muted);
    }

    body.login.noine-login-theme {
        min-height: 100vh;
        display: grid;
        place-items: center;
        padding: 28px;
        background: linear-gradient(135deg, #f7f8fa 0%, #eceff3 100%);
        color: var(--noine-text);
        font-family: "Exo 2", Arial, sans-serif;
    }

    body.login.noine-login-theme .login-layout-anker {
        display: grid;
        width: min(920px, 100%);
        grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
        gap: 0;
        margin: 0;
        overflow: hidden;
        border: 1px solid var(--noine-border);
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 18px 50px rgba(20, 27, 37, .14);
    }

    body.login.noine-login-theme .loginbox {
        width: auto;
        max-width: none;
        margin: 0;
        padding: 42px;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    body.login.noine-login-theme .login-anker-info {
        display: flex;
        flex-direction: column;
        justify-content: center;
        background: var(--noine-surface-soft) !important;
        color: var(--noine-text);
    }

    body.login.noine-login-theme .login-anker-info h1,
    body.login.noine-login-theme .login-anker-info a {
        color: var(--noine-accent) !important;
    }

    @media (max-width: 1040px) {
        body.noine-screen-theme.sidebar-expanded {
            --noine-sidebar-current: 260px;
        }

        body.noine-screen-theme .container {
            padding-right: 22px !important;
            padding-left: 22px !important;
        }
    }

    @media (max-width: 900px) {
        body.noine-screen-theme .kunden-overview-intro {
            grid-template-columns: 1fr;
            gap: 12px;
        }

        body.noine-screen-theme .kunden-summary {
            padding: 4px 0 10px;
        }
    }

    @media (max-width: 760px) {
        body.noine-screen-theme,
        body.noine-screen-theme.sidebar-expanded {
            --noine-sidebar-current: 0px;
        }

        body.noine-screen-theme .app-sidebar {
            width: min(88vw, 320px);
            transform: translateX(-102%);
            box-shadow: 12px 0 34px rgba(20, 27, 37, .18);
        }

        body.noine-screen-theme.app-sidebar-mobile-open .app-sidebar {
            transform: translateX(0);
        }

        body.noine-screen-theme.app-sidebar-mobile-open {
            overflow: hidden;
        }

        .app-mobile-menu-button {
            position: fixed !important;
            top: 8px;
            left: 10px;
            z-index: 900;
            display: grid !important;
            width: 38px !important;
            height: 36px !important;
            min-height: 0 !important;
            padding: 0 !important;
            place-items: center;
            border: 1px solid var(--noine-border) !important;
            border-radius: 7px !important;
            background: #fff !important;
            box-shadow: 0 1px 3px rgba(20, 27, 37, .08) !important;
            color: var(--noine-text) !important;
            font-size: 20px !important;
        }

        .app-sidebar-backdrop:not([hidden]) {
            position: fixed;
            inset: 0;
            z-index: 950;
            display: block;
            width: 100%;
            height: 100%;
            padding: 0;
            border: 0;
            background: rgba(20, 24, 29, .48);
        }

        .app-sidebar-mobile-close {
            position: absolute;
            top: 11px;
            right: 10px;
            z-index: 4;
            display: grid;
            flex: 0 0 auto;
            margin: 0;
            place-items: center;
        }

        .app-sidebar-search {
            padding-right: 49px;
        }

        .app-brand-name,
        .app-nav-label,
        .app-nav-submenu-toggle {
            opacity: 1;
            pointer-events: auto;
        }

        .app-nav-parent-row {
            grid-template-columns: minmax(0, 1fr) 36px;
        }

        .app-nav-item.submenu-open > .app-nav-submenu-host {
            display: block;
        }

        body.noine-screen-theme .userbar {
            inset: 0 0 auto 0;
            min-height: var(--noine-topbar-height);
            padding: 8px 12px 8px 58px;
            gap: 7px;
        }

        body.noine-screen-theme .userbar > span {
            display: none;
        }

        body.noine-screen-theme .container {
            margin-left: 0 !important;
            padding: calc(var(--noine-topbar-height) + 18px) 13px 30px !important;
        }

        body.noine-screen-theme .footer {
            align-items: flex-start;
            flex-direction: column;
            gap: 4px;
            margin-left: 0;
            padding: 12px 14px;
        }

        body.noine-screen-theme h1.card {
            align-items: flex-start;
            flex-direction: column;
            gap: 4px;
            font-size: 25px;
        }

        body.noine-screen-theme .kunden-inactive-filter {
            align-items: stretch;
            flex-direction: column;
        }

        body.noine-screen-theme table th,
        body.noine-screen-theme table td,
        body.noine-screen-theme .table-wrap th,
        body.noine-screen-theme .table-wrap td {
            padding: 9px 11px !important;
        }

        body.login.noine-login-theme {
            padding: 14px;
        }

        body.login.noine-login-theme .login-layout-anker {
            grid-template-columns: 1fr;
        }

        body.login.noine-login-theme .loginbox {
            padding: 26px 22px;
        }
    }

    @media (prefers-reduced-motion: reduce) {
        body.noine-screen-theme *,
        body.noine-screen-theme *::before,
        body.noine-screen-theme *::after {
            scroll-behavior: auto !important;
            transition-duration: .01ms !important;
            animation-duration: .01ms !important;
            animation-iteration-count: 1 !important;
        }
    }
}
