:root {E
    --bg: #f6f7f9;
    --panel: #ffffff;
    --text: #17191c;
    --muted: #6b7280;
    --border: #e5e7eb;
    --sidebar: #ffffff;
    --hover: #f3f4f6;
    --active: #eef0f2;
    --danger: #b42318;
    --radius: 14px;
}

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
    min-height: 100%;
    font-family:
        Inter, ui-sans-serif, system-ui, -apple-system,
        BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--text);
    background: var(--bg);
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input {
    font: inherit;
}

.login-page {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
}

.login-card {
    width: 100%;
    max-width: 430px;
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 18px;
    padding: 36px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .06);
}

.login-logo {
    display: block;
    max-width: 230px;
    max-height: 72px;
    margin: 0 auto 30px;
}

.login-card h1 {
    margin: 0 0 6px;
    font-size: 24px;
}

.login-card .subtitle {
    margin: 0 0 28px;
    color: var(--muted);
}

.form-group {
    margin-bottom: 18px;
}

.form-label {
    display: block;
    margin-bottom: 7px;
    font-size: 14px;
    font-weight: 600;
}

.form-input {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: #fff;
    outline: none;
}

.form-input:focus {
    border-color: #9ca3af;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, .04);
}

.checkbox-row {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--muted);
    font-size: 14px;
    margin-bottom: 20px;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 9px;
    padding: 11px 16px;
    cursor: pointer;
}

.button-primary {
    width: 100%;
    background: #17191c;
    color: #fff;
}

.button-primary:hover {
    background: #303236;
}

.login-error {
    background: #fff5f4;
    color: var(--danger);
    border: 1px solid #f2c6c2;
    padding: 12px;
    border-radius: 9px;
    margin-bottom: 20px;
    font-size: 14px;
}

.app-shell {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
}

.sidebar {
    background: var(--sidebar);
    border-right: 1px solid var(--border);
    padding: 22px 16px;
    position: sticky;
    top: 0;
    height: 100vh;
    display: flex;
    flex-direction: column;
}

.sidebar-logo {
    display: block;
    max-width: 190px;
    max-height: 58px;
    margin: 5px 10px 28px;
}

.nav {
    display: grid;
    gap: 4px;
}

.nav-link {
    padding: 10px 12px;
    border-radius: 9px;
    font-size: 14px;
    font-weight: 500;
}

.nav-link:hover {
    background: var(--hover);
}

.nav-link.active {
    background: var(--active);
    font-weight: 700;
}

.sidebar-bottom {
    margin-top: auto;
    border-top: 1px solid var(--border);
    padding-top: 16px;
}

.user-email {
    padding: 0 10px 12px;
    color: var(--muted);
    font-size: 12px;
    overflow-wrap: anywhere;
}

.logout-button {
    width: 100%;
    background: transparent;
    text-align: left;
    padding: 10px 12px;
}

.logout-button:hover {
    background: var(--hover);
}

.main {
    min-width: 0;
}

.topbar {
    height: 72px;
    background: rgba(255, 255, 255, .9);
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: center;
    padding: 0 32px;
    position: sticky;
    top: 0;
    z-index: 10;
    backdrop-filter: blur(8px);
}

.topbar-title {
    font-size: 18px;
    font-weight: 700;
}

.content {
    padding: 32px;
    max-width: 1500px;
}

.page-title {
    margin: 0;
    font-size: 30px;
}

.page-subtitle {
    margin: 7px 0 28px;
    color: var(--muted);
}

.cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.card {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 20px;
}

.card-label {
    color: var(--muted);
    font-size: 13px;
}

.card-value {
    font-size: 32px;
    line-height: 1;
    font-weight: 700;
    margin-top: 12px;
}

.section {
    margin-top: 26px;
}

.section-title {
    margin: 0 0 14px;
    font-size: 18px;
}

.empty-state {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 26px;
    color: var(--muted);
}

@media (max-width: 1000px) {
    .cards {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 760px) {
    .app-shell {
        grid-template-columns: 1fr;
    }

    .sidebar {
        display: none;
    }

    .content {
        padding: 22px;
    }

    .cards {
        grid-template-columns: 1fr;
    }
}

.page-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.button-dark {
    background: #17191c;
    color: #fff;
}

.button-dark:hover {
    background: #303236;
}

.button-secondary {
    background: #fff;
    border: 1px solid var(--border);
    color: var(--text);
}

.search-bar {
    display: grid;
    grid-template-columns: minmax(0, 600px) auto;
    gap: 10px;
    margin: 0 0 22px;
}

.table-card {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    overflow: hidden;
}

.data-table {
    width: 100%;
    border-collapse: collapse;
}

.data-table th {
    background: #fafafa;
    color: var(--muted);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .04em;
    text-align: left;
    padding: 13px 16px;
    border-bottom: 1px solid var(--border);
}

.data-table td {
    padding: 15px 16px;
    border-bottom: 1px solid var(--border);
    font-size: 14px;
}

.data-table tr:last-child td {
    border-bottom: 0;
}

.data-table tbody tr:hover {
    background: #fafafa;
}

.table-actions {
    text-align: right;
    white-space: nowrap;
}

.empty-cell {
    color: var(--muted);
    text-align: center;
    padding: 35px !important;
}

.status-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 5px 9px;
    font-size: 12px;
    background: #f3f4f6;
}

.status-active {
    background: #ecfdf3;
    color: #027a48;
}

.status-cancelled,
.status-archived {
    background: #fef3f2;
    color: #b42318;
}

.status-paused {
    background: #fffaeb;
    color: #b54708;
}

.success-message {
    padding: 12px 14px;
    margin-bottom: 20px;
    border: 1px solid #abefc6;
    background: #ecfdf3;
    color: #027a48;
    border-radius: 9px;
}

.form-section {
    max-width: 1000px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    padding: 24px;
    margin-bottom: 18px;
}

.form-section h2 {
    font-size: 17px;
    margin: 0 0 22px;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.field label {
    display: block;
    margin: 0 0 7px;
    font-size: 13px;
    font-weight: 600;
}

.span-2 {
    grid-column: span 2;
}

.textarea {
    min-height: 90px;
    resize: vertical;
}

.textarea.large {
    min-height: 140px;
}

.form-actions {
    display: flex;
    gap: 10px;
    margin: 24px 0 50px;
}

.pagination-wrap {
    margin-top: 20px;
}

@media (max-width: 760px) {
    .form-grid {
        grid-template-columns: 1fr;
    }

    .span-2 {
        grid-column: span 1;
    }

    .page-head {
        display: block;
    }

    .page-head .button {
        margin-bottom: 20px;
    }

    .search-bar {
        grid-template-columns: 1fr;
    }

    .table-card {
        overflow-x: auto;
    }
}

.breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin: 0 0 18px;
    font-size: 13px;
    color: var(--muted);
}

.breadcrumbs a {
    color: var(--muted);
}

.breadcrumbs a:hover {
    color: var(--text);
}

.breadcrumb-separator {
    color: #c2c6cc;
}

.breadcrumb-current {
    color: var(--text);
    font-weight: 600;
}

.customer-tabs {
    display: flex;
    gap: 4px;
    overflow-x: auto;
    padding-bottom: 1px;
    margin: 0 0 25px;
    border-bottom: 1px solid var(--border);
}

.customer-tab {
    flex: 0 0 auto;
    padding: 11px 13px;
    color: var(--muted);
    font-size: 13px;
    border-bottom: 2px solid transparent;
}

.customer-tab:hover {
    color: var(--text);
}

.customer-tab.active {
    color: var(--text);
    font-weight: 700;
    border-bottom-color: var(--text);
}

.customer-summary-cards {
    margin-bottom: 22px;
}

.card-value-status {
    font-size: 22px;
}

.customer-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.detail-list {
    margin: 0;
}

.detail-list > div {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 16px;
    padding: 11px 0;
    border-bottom: 1px solid var(--border);
}

.detail-list > div:last-child {
    border-bottom: 0;
}

.detail-list dt {
    color: var(--muted);
    font-size: 13px;
}

.detail-list dd {
    margin: 0;
    font-size: 14px;
}

.integration-status {
    display: inline-flex;
    border-radius: 999px;
    padding: 6px 10px;
    font-size: 12px;
    font-weight: 600;
}

.integration-status.pending {
    background: #fffaeb;
    color: #b54708;
}

.muted-text {
    color: var(--muted);
    font-size: 14px;
    line-height: 1.6;
}

.empty-state.compact {
    padding: 16px;
}

@media (max-width: 900px) {
    .customer-grid {
        grid-template-columns: 1fr;
    }
}

.button-open {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 11px;
    border: 1px solid var(--border);
    background: #ffffff;
    color: var(--text);
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
}

.button-open:hover {
    background: #f3f4f6;
    border-color: #d1d5db;
}

.button-open span {
    color: var(--muted);
}

.contact-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 16px 0;
    border-bottom: 1px solid var(--border);
}

.contact-row:first-of-type {
    padding-top: 0;
}

.contact-row:last-child {
    border-bottom: 0;
}

.contact-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 9px;
}

.checkbox-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
    margin: 20px 0;
}

.checkbox-grid label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 13px;
}

.contact-photo-preview {
    margin: 0 0 12px;
}

.contact-photo-preview img {
    width: 88px;
    height: 88px;
    object-fit: cover;
    border-radius: 50%;
    border: 1px solid var(--border);
}

.field-hint {
    margin-top: 6px;
    font-size: 12px;
    color: var(--muted);
}

.contact-option-section {
    margin: 22px 0 18px;
}

.contact-option-title {
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 700;
}

.contact-status-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 20px 0;
    padding: 14px 16px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #fafafa;
}

.contact-status-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
}

/* Ansprechpartner - Status oben */
.contact-status-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin: 0 0 28px;
    padding: 14px 16px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #fafafa;
}

.contact-status-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
}

/* Mehr Abstand nach Foto */
.contact-photo-field {
    margin-bottom: 10px;
}

/* Rollen klar als eigener Block */
.contact-roles-section {
    margin-top: 32px;
    padding-top: 26px;
    border-top: 1px solid var(--border);
}

.contact-option-title {
    margin-bottom: 14px;
    font-size: 15px;
    font-weight: 700;
}

.contact-roles-section .checkbox-grid {
    margin: 0 0 22px;
}

/* Gehört logisch zum Rollenblock */
.other-role-field {
    margin-top: 6px;
}

/* Abstand nach Rollenblock */
.contact-notes-field {
    margin-top: 30px;
}


.import-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 18px;
}

.import-filters a {
    padding: 7px 11px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: #fff;
    color: var(--muted);
    font-size: 13px;
}

.import-filters a:hover,
.import-filters a.active {
    color: var(--text);
    background: #f3f4f6;
    border-color: #d1d5db;
}

.bulk-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 12px;
    padding: 12px 14px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 10px;
}

.bulk-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.check-column {
    width: 42px;
    text-align: center !important;
}

@media (max-width: 760px) {
    .bulk-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }
}

.wa-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 18px;
}

.wa-pagination-info {
    color: var(--muted);
    font-size: 13px;
}

.wa-pagination-buttons {
    display: flex;
    align-items: center;
    gap: 8px;
}

.wa-pagination-page {
    padding: 0 8px;
    color: var(--muted);
    font-size: 13px;
}

.button.disabled {
    opacity: .4;
    cursor: default;
    pointer-events: none;
}

@media (max-width: 700px) {
    .wa-pagination {
        align-items: flex-start;
        flex-direction: column;
    }
}
.danger-zone {
    max-width: 1000px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin: 40px 0 60px;
    padding: 20px 22px;
    background: #fff;
    border: 1px solid #f4c7c3;
    border-radius: var(--radius);
}

.danger-zone strong {
    color: #b42318;
}

.danger-zone p {
    margin: 5px 0 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.5;
}

.button-danger {
    flex: 0 0 auto;
    background: #fff;
    color: #b42318;
    border: 1px solid #f4c7c3;
}

.button-danger:hover {
    background: #fff5f4;
}

.nav-section {
    margin-top: 10px;
}

.nav-section-title {
    padding: 8px 12px 5px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.nav-link-child {
    padding-left: 22px;
    font-size: 13px;
}


/* Sidebar Feinabstimmung */

.sidebar-logo {
    width: 215px;
    max-width: calc(100% - 6px);
    height: auto;
    margin: 6px 3px 36px;
}

/* Integrationen Überschrift größer */
.nav-section {
    margin-top: 18px;
}

.nav-section-title {
    padding: 10px 12px 10px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

/* Unterpunkte wie FastBill */
.nav-link-child {
    display: inline-flex;
    width: auto;

    margin-left: 18px;
    margin-right: 12px;

    padding: 10px 14px;

    font-size: 14px;
}

/* Aktiver Integrationspunkt bleibt kompakt */
.nav-link-child.active {
    padding-left: 14px;
    padding-right: 14px;
}

.domain-match-suggestion {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.match-score {
    margin-top: 3px;
    color: var(--muted);
    font-size: 12px;
}

.match-actions {
    display: flex;
    gap: 5px;
}

.button-match-confirm,
.button-match-reject {
    width: 30px;
    height: 30px;
    padding: 0;
    border-radius: 7px;
}

.button-match-confirm {
    background: #ecfdf3;
    border: 1px solid #abefc6;
    color: #027a48;
}

.button-match-confirm:hover {
    background: #dcfae6;
}

.button-match-reject {
    background: #fff;
    border: 1px solid var(--border);
    color: var(--muted);
}

.button-match-reject:hover {
    background: #fff5f4;
    color: #b42318;
    border-color: #f4c7c3;
}

/* Domain Matching */

.match-actions {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 7px;
}

.match-actions form {
    margin: 0;
}

.button-match-confirm,
.button-match-reject {
    min-height: 26px;
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.button-match-confirm {
    background: #ecfdf3;
    border: 1px solid #75e0a7;
    color: #067647;
}

.button-match-confirm:hover {
    background: #dcfae6;
    border-color: #47cd89;
}

.button-match-reject {
    background: #fef3f2;
    border: 1px solid #fda29b;
    color: #b42318;
}

.button-match-reject:hover {
    background: #fee4e2;
    border-color: #f97066;
}

.button-match-bulk {
    background: #067647;
    color: #fff;
    border: 1px solid #067647;
}

.button-match-bulk:hover {
    background: #085d3a;
}

.button-match-bulk:disabled {
    opacity: .4;
    cursor: default;
}

.domain-match-toolbar {
    margin-bottom: 12px;
}

.check-column {
    width: 38px;
    text-align: center !important;
}

.match-score {
    margin-top: 3px;
    color: var(--muted);
    font-size: 11px;
}
.match-score-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 7px;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.match-score-badge span {
    font-weight: 500;
}

/* starker Match */
.match-score-good {
    background: #ecfdf3;
    border: 1px solid #75e0a7;
    color: #067647;
}

/* prüfen */
.match-score-medium {
    background: #fffaeb;
    border: 1px solid #fedf89;
    color: #b54708;
}

/* schwacher Match */
.match-score-bad {
    background: #fef3f2;
    border: 1px solid #fda29b;
    color: #b42318;
}

/* Domain-Matching Layout korrigieren */

.match-cell {
    min-width: 330px;
    width: 330px;
    vertical-align: middle;
}

.domain-match-suggestion {
    display: block !important;
    width: 100%;
}

.match-customer-info {
    display: block;
}

.match-customer-name {
    display: block;
    max-width: 300px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.match-score-badge {
    margin-top: 7px;
}

/* Buttons IMMER unterhalb des Vorschlags */
.match-actions {
    display: flex !important;
    align-items: center;
    justify-content: flex-start !important;
    gap: 6px !important;

    width: 100%;
    margin-top: 9px !important;
}

/* Keine alten quadratischen Größen mehr */
.match-actions .button-match-confirm,
.match-actions .button-match-reject {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 25px !important;

    padding: 4px 8px !important;

    border-radius: 6px;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 700;
    white-space: nowrap;
}

.match-actions .button-match-confirm {
    background: #ecfdf3;
    border: 1px solid #75e0a7;
    color: #067647;
}

.match-actions .button-match-reject {
    background: #fef3f2;
    border: 1px solid #fda29b;
    color: #b42318;
}

.internal-owner-select {
    width: 220px;
    min-width: 220px;
}

.domain-assignment-label {
    margin-top: 5px;
    font-size: 13px;
    font-weight: 600;
}

/* Globale WebArtists Pagination */

.wa-pagination {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 18px;
    margin-top: 20px;
}

.wa-pagination-info {
    color: var(--muted);
    font-size: 13px;
}

.wa-pagination-center {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
}

.wa-page-numbers {
    display: flex;
    align-items: center;
    gap: 4px;
}

.wa-page-number {
    min-width: 32px;
    height: 32px;
    padding: 0 8px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 1px solid var(--border);
    border-radius: 7px;

    background: #fff;
    color: var(--text);

    font-size: 12px;
    font-weight: 600;
}

.wa-page-number:hover {
    background: #f3f4f6;
}

.wa-page-number.active {
    background: #17191c;
    border-color: #17191c;
    color: #fff;
}

.wa-page-dots {
    padding: 0 3px;
    color: var(--muted);
}

.wa-page-nav {
    min-width: 32px;
    height: 32px;
    padding: 0 9px;
}

.wa-per-page {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;

    color: var(--muted);
    font-size: 12px;
}

.wa-per-page-select {
    height: 32px;
    padding: 0 28px 0 9px;

    border: 1px solid var(--border);
    border-radius: 7px;

    background: #fff;
    color: var(--text);
}

@media (max-width: 900px) {
    .wa-pagination {
        grid-template-columns: 1fr;
    }

    .wa-pagination-info,
    .wa-pagination-center,
    .wa-per-page {
        justify-content: flex-start;
    }

    .wa-page-numbers {
        flex-wrap: wrap;
    }
}

/* Globale Pagination */

.wa-pagination {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 18px;
    margin-top: 20px;
}

.wa-pagination-info {
    color: var(--muted);
    font-size: 13px;
}

.wa-pagination-center {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
}

.wa-page-numbers {
    display: flex;
    align-items: center;
    gap: 4px;
}

.wa-page-number {
    min-width: 32px;
    height: 32px;
    padding: 0 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border);
    border-radius: 7px;
    background: #fff;
    color: var(--text);
    font-size: 12px;
    font-weight: 600;
}

.wa-page-number:hover {
    background: #f3f4f6;
}

.wa-page-number.active {
    background: #17191c;
    border-color: #17191c;
    color: #fff;
}

.wa-page-dots {
    padding: 0 3px;
    color: var(--muted);
}

.wa-page-nav {
    min-width: 32px;
    height: 32px;
    padding: 0 9px;
}

.wa-per-page {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    color: var(--muted);
    font-size: 12px;
}

.wa-per-page-select {
    height: 32px;
    padding: 0 28px 0 9px;
    border: 1px solid var(--border);
    border-radius: 7px;
    background: #fff;
    color: var(--text);
}

@media (max-width: 900px) {
    .wa-pagination {
        grid-template-columns: 1fr;
    }

    .wa-pagination-center,
    .wa-per-page {
        justify-content: flex-start;
    }

    .wa-page-numbers {
        flex-wrap: wrap;
    }
}

.inline-form {
    display: inline-block;
    margin: 0;
}

.button-compact {
    padding: 6px 9px;
    font-size: 12px;
}

.button-unassign {
    background: #fff;
    color: #b42318;
    border: 1px solid #f4c7c3;
}

.button-unassign:hover {
    background: #fff5f4;
}

.internal-owner-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}


/* Einheitliche Listen / Pagination */

.wa-pagination {
    margin: 24px 0 30px;
}

.table-card + .wa-pagination {
    margin-top: 28px;
}

.page-head-actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

@media (max-width: 900px) {
    .page-head-actions {
        width: 100%;
        margin-left: 0;
    }
}


.sync-change-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 7px 0;
    border-bottom: 1px solid var(--border);
}

.sync-change-row:last-child {
    border-bottom: 0;
}

.sync-change-content {
    min-width: 0;
}

.button-small {
    padding: 5px 9px;
    font-size: 11px;
    white-space: nowrap;
}


.page-head-actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 10px;
}


/* Domain Matching Aktionen */

.button-match {
    background: #e8f7ed;
    border: 1px solid #b7e3c5;
    color: #176b35;
}

.button-match:hover {
    background: #d9f1e1;
}

.button-no-match {
    background: #fdecec;
    border: 1px solid #f2c2c2;
    color: #a62323;
}

.button-no-match:hover {
    background: #f9dddd;
}


/* Domain Matching Score Farben */

.match-score-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 27px;
    padding: 0 9px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}

.match-score-good {
    background: #e8f7ed;
    border: 1px solid #b7e3c5;
    color: #176b35;
}

.match-score-medium,
.match-score-low {
    background: #fff3d6;
    border: 1px solid #f0d28b;
    color: #8a5b00;
}

.bulk-customer-select {
    min-width: 260px;
    max-width: 360px;
}


.owner-contact-search {
    width: 310px;
    min-width: 240px;
}

.card-value-small {
    font-size: 18px;
}


/* Dashboard - externe Änderungen */

.dashboard-alerts {
    display: grid;
    gap: 10px;
}

.dashboard-alert-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;

    padding: 16px 18px;

    background: #fff8e8;
    border: 1px solid #ecd59e;
    border-radius: 10px;
}

.dashboard-alert-content {
    min-width: 0;
}

.dashboard-alert-title {
    margin-bottom: 3px;

    font-size: 14px;
    font-weight: 700;
    color: #17191c;
}

.dashboard-alert-text {
    font-size: 13px;
    color: var(--muted);
}

@media (max-width: 700px) {

    .dashboard-alert-card {
        align-items: flex-start;
        flex-direction: column;
    }
}


/* Domain-Verrechnung */

.billing-status-ok {
    display: inline-flex;
    padding: 4px 8px;
    border-radius: 999px;

    background: #e8f7ed;
    border: 1px solid #b7e3c5;

    color: #176b35;
    font-size: 11px;
    font-weight: 600;
}

.billing-status-warning {
    display: inline-flex;
    padding: 4px 8px;
    border-radius: 999px;

    background: #fff3d6;
    border: 1px solid #f0d28b;

    color: #8a5b00;
    font-size: 11px;
    font-weight: 600;
}

.billing-status-empty {
    display: inline-flex;
    padding: 4px 8px;
    border-radius: 999px;

    background: #f4f5f6;
    border: 1px solid #dedfe2;

    color: #676b73;
    font-size: 11px;
    font-weight: 600;
}

.billing-info-warning {
    padding: 14px 16px;

    background: #fff8e8;
    border: 1px solid #ecd59e;
    border-radius: 10px;
}


/* Prüfung von Domain-Verrechnungszeiträumen */

.period-review-list {
    display: grid;
    gap: 12px;
}

.period-review-card {
    padding: 16px 18px;
}

.period-review-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.period-review-domain {
    font-size: 15px;
}

.period-review-section {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid #ececef;
}

.period-review-form {
    margin-top: 10px;
}

.period-candidates {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
}

.period-candidate {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    padding: 7px 10px;

    border: 1px solid #dedfe2;
    border-radius: 8px;

    background: #fff;
    cursor: pointer;
}

.period-candidate:has(input:checked) {
    background: #e8f7ed;
    border-color: #b7e3c5;
}

.period-manual-form {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.period-manual-form .form-input {
    width: 160px;
}


/* Chronologische Domain-Verrechnung */

.billing-status-gap {
    display: inline-flex;
    padding: 4px 8px;
    border-radius: 999px;

    background: #fdebea;
    border: 1px solid #f0beba;

    color: #a52b24;
    font-size: 11px;
    font-weight: 600;
}

.billing-gap-list {
    display: grid;
    gap: 7px;
}

.billing-gap-row {
    padding: 10px 12px;

    background: #fdebea;
    border: 1px solid #f0beba;
    border-radius: 8px;

    color: #81241f;
}

.domain-billing-history {
    display: grid;
    gap: 12px;
}

.domain-billing-entry {
    padding: 16px 18px;
}

.domain-billing-entry-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.domain-billing-invoice {
    font-size: 15px;
}

.domain-billing-description {
    margin-top: 12px;
    padding: 10px 12px;

    background: #f8f8f9;
    border-radius: 8px;

    font-size: 12px;
    line-height: 1.45;
}

.domain-billing-period {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;

    margin-top: 12px;
}

.domain-billing-no-period {
    margin-top: 10px;
}


/* Kompakte Domain-Verrechnung */

.billing-summary-compact {
    margin-bottom: 18px;
}

.billing-compact-table {
    border: 1px solid #e7e8ea;
    border-radius: 10px;
    overflow: visible;
}

.billing-compact-header,
.billing-compact-row {
    display: grid;
    grid-template-columns:
        105px
        minmax(260px, 1.8fr)
        210px
        105px
        220px
        190px;

    align-items: center;
    gap: 10px;
}

.billing-compact-header {
    padding: 8px 12px;

    background: #f5f5f6;
    border-bottom: 1px solid #e7e8ea;

    font-size: 11px;
    font-weight: 700;
    color: #686c75;
}

.billing-compact-row {
    min-height: 48px;
    padding: 7px 12px;

    background: #fff;
    border-bottom: 1px solid #ececef;
}

.billing-compact-row:last-child {
    border-bottom: 0;
}

.billing-re-number {
    font-size: 13px;
}

.billing-position-text,
.billing-position-empty {
    display: block;

    padding: 6px 8px;
    border-radius: 5px;

    background: #f4f4f5;

    font-size: 11px;
    line-height: 1.25;
}

.billing-position-text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.billing-position-empty {
    color: #777b83;
}

.billing-period-ok,
.billing-period-missing,
.billing-period-due {
    display: inline-flex;
    align-items: center;

    padding: 5px 8px;
    border-radius: 999px;

    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.billing-period-ok {
    background: #e8f7ed;
    border: 1px solid #b7e3c5;
    color: #176b35;
}

.billing-period-missing {
    background: #fdebea;
    border: 1px solid #f0beba;
    color: #a52b24;
}

.billing-period-due {
    background: #fff3d6;
    border: 1px solid #f0d28b;
    color: #8a5b00;
}

.billing-payment-paid {
    color: #5f646c;
}

.billing-payment-unpaid {
    color: #b3261e;
    font-weight: 800;
}

.billing-due-text {
    color: #8a5b00;
    font-weight: 700;
}

.billing-expected-label {
    font-size: 12px;
}

.billing-expected-missing .billing-expected-label {
    color: #b3261e;
}

.billing-expected-due .billing-expected-label {
    color: #8a5b00;
}

.billing-row-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
}

.billing-row-actions form {
    margin: 0;
}

.billing-inline-details {
    position: relative;
}

.billing-inline-details summary {
    list-style: none;
    cursor: pointer;
}

.billing-inline-details summary::-webkit-details-marker {
    display: none;
}

.billing-assign-form {
    position: absolute;
    z-index: 20;

    right: 0;
    top: calc(100% + 6px);

    display: flex;
    gap: 6px;

    width: 390px;
    padding: 10px;

    background: #fff;
    border: 1px solid #dfe1e5;
    border-radius: 8px;
    box-shadow: 0 8px 28px rgba(0,0,0,.10);
}

.billing-assign-form .form-input {
    flex: 1;
    min-width: 0;
}

.billing-open-period-row {
    padding: 7px 12px 9px 127px;

    background: #fff8e8;
    border-bottom: 1px solid #ececef;
}

.billing-open-period-row .period-manual-form {
    margin: 0;
}

@media (max-width: 1350px) {

    .billing-compact-header,
    .billing-compact-row {
        grid-template-columns:
            90px
            minmax(200px, 1fr)
            185px
            85px
            185px
            170px;

        gap: 6px;
    }
}


.billing-exception-form {
    position: absolute;
    z-index: 30;

    right: 0;
    top: calc(100% + 6px);

    display: grid;
    gap: 7px;

    width: 330px;
    padding: 10px;

    background: #fff;
    border: 1px solid #dfe1e5;
    border-radius: 8px;
    box-shadow: 0 8px 28px rgba(0,0,0,.12);
}

.billing-row-actions,
.billing-expected-row > div:last-child {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
}

.dashboard-alert-danger {
    background: #fdebea;
    border-color: #f0beba;
}

.dashboard-alert-danger .dashboard-alert-title {
    color: #9d2922;
}

/* Domain-Verrechnung: manuelle Entscheidungen */

.billing-flat-rate-row {
    background: #fbfffc;
}

.billing-accepted-gap-row {
    background: #fafafa;
}

.billing-position-accepted {
    display: block;

    padding: 6px 8px;
    border-radius: 5px;

    background: #eeeeef;
    color: #6d7179;

    font-size: 11px;
    line-height: 1.25;
}

.billing-period-accepted {
    display: inline-flex;
    align-items: center;

    padding: 5px 8px;
    border-radius: 999px;

    background: #eeeeef;
    border: 1px solid #d7d8da;
    color: #61656c;

    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.billing-accepted-text {
    color: #73777e;
    font-weight: 700;
}

.billing-archive-badge {
    display: inline-flex;
    align-items: center;

    min-height: 38px;
    padding: 0 12px;

    border: 1px solid #d9dadd;
    border-radius: 7px;

    background: #f3f3f4;
    color: #676b72;

    font-size: 12px;
    font-weight: 700;
}

.billing-archive-message {
    padding: 12px 14px;

    border: 1px solid #d9dadd;
    border-radius: 8px;

    background: #f7f7f8;
    color: #62666e;
}

.billing-empty-row {
    padding: 18px;

    color: #777b82;
    text-align: center;
}

.billing-row-actions form,
.page-head-actions form {
    margin: 0;
}

/* Etwas mehr Abstand zwischen Logo und Navigation */
.sidebar-logo {
    margin-bottom: 22px;
}

/* ISPComfort Ablaufänderungen */

.ispcomfort-change-renewed {
    color: #19733b;
    font-weight: 700;
}

.ispcomfort-change-warning {
    color: #b3261e;
    font-weight: 700;
}

.ispcomfort-change-renewed {
    color: #19733b;
    font-weight: 700;
}

.ispcomfort-change-warning {
    color: #b3261e;
    font-weight: 700;
}

/* Abstand Logo -> erster Navigationspunkt */
.sidebar > nav {
    margin-top: 24px !important;
}

/* Sicherer Abstand zwischen Logo und Navigation */
.sidebar-logo {
    padding-bottom: 24px !important;
}

/* Hosting Administration */

.hosting-admin-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 18px;
    align-items: start;
}

.hosting-admin-card {
    position: sticky;
    top: 18px;
}

.hosting-admin-form,
.hosting-popup-form {
    display: grid;
    gap: 8px;
}

.hosting-admin-form label,
.hosting-popup-form label {
    margin-top: 5px;
    font-size: 12px;
    font-weight: 700;
}

.hosting-check {
    display: flex;
    align-items: center;
    gap: 7px;
}

.hosting-edit-details {
    position: relative;
}

.hosting-edit-details summary {
    list-style: none;
    cursor: pointer;
}

.hosting-edit-details summary::-webkit-details-marker {
    display: none;
}

.hosting-popup-form {
    position: absolute;
    z-index: 50;
    right: 0;
    top: calc(100% + 6px);

    width: 340px;
    max-height: 75vh;
    overflow-y: auto;

    padding: 14px;

    background: #fff;
    border: 1px solid #dfe1e5;
    border-radius: 9px;
    box-shadow: 0 10px 35px rgba(0, 0, 0, .12);
}

@media (max-width: 1150px) {
    .hosting-admin-grid {
        grid-template-columns: 1fr;
    }

    .hosting-admin-card {
        position: static;
    }
}

/* Abstand Logo -> Navigation */
.sidebar > .nav {
    margin-top: 26px !important;
}

/* Hosting-Inventur */

.hosting-inventory-servers {
    display: grid;
    grid-template-columns:
        repeat(
            auto-fit,
            minmax(230px, 1fr)
        );
    gap: 10px;
}

.hosting-inventory-server {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.hosting-stage-badge {
    display: inline-flex;
    align-items: center;

    padding: 4px 8px;
    border-radius: 999px;

    background: #eef1f5;
    border: 1px solid #d8dde5;

    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.form-input-compact {
    min-width: 180px;
    padding-top: 6px;
    padding-bottom: 6px;
}

.hosting-inventory-table .table-actions {
    white-space: nowrap;
}

.hosting-inventory-table .table-actions form {
    display: inline-block;
    margin: 0 0 0 4px;
}

/* Hosting Staging / interne Hosts */

.hosting-internal-badge,
.hosting-test-badge {
    display: inline-flex;
    align-items: center;

    padding: 4px 8px;
    border-radius: 999px;

    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.hosting-internal-badge {
    background: #eeeeef;
    border: 1px solid #d7d8da;
    color: #555b63;
}

.hosting-test-badge {
    background: #fff3d6;
    border: 1px solid #f0d28b;
    color: #805800;
}

.hosting-usage-details {
    position: relative;
    display: inline-block;
}

.hosting-usage-details summary {
    list-style: none;
    cursor: pointer;
}

.hosting-usage-details summary::-webkit-details-marker {
    display: none;
}

.hosting-usage-popup {
    position: absolute;
    z-index: 50;

    right: 0;
    top: calc(100% + 6px);

    width: 270px;
    padding: 10px;

    background: #fff;
    border: 1px solid #dfe1e5;
    border-radius: 8px;
    box-shadow: 0 8px 28px rgba(0, 0, 0, .12);
}

.hosting-usage-popup form {
    display: grid !important;
    gap: 6px;
    margin: 0 0 10px 0 !important;
}

.hosting-usage-popup form:last-child {
    margin-bottom: 0 !important;
}

/* Hosting-Inventur: Popups dürfen aus der Tabelle herausragen */

.hosting-inventory-table-card {
    overflow: visible !important;
}

.hosting-inventory-table-card td {
    overflow: visible;
}

.hosting-usage-details {
    z-index: 100;
}

.hosting-usage-details[open] {
    z-index: 1000;
}

.hosting-usage-popup {
    z-index: 1100 !important;
}

/* =========================================================
   Hosting-Inventur: kompakte Popup-Formulare
   ========================================================= */

.hosting-inventory-table .table-actions {
    position: relative;
    overflow: visible !important;
}

.hosting-usage-details {
    position: relative;
    display: inline-block;
    vertical-align: middle;
}

.hosting-usage-details[open] {
    z-index: 2000;
}

.hosting-usage-popup {
    position: absolute !important;
    z-index: 2100 !important;

    top: calc(100% + 7px) !important;
    right: 0 !important;
    left: auto !important;

    width: 380px !important;
    min-width: 0 !important;
    max-width: min(380px, calc(100vw - 40px)) !important;

    padding: 14px !important;

    box-sizing: border-box !important;

    background: #fff !important;
    border: 1px solid #dfe1e5 !important;
    border-radius: 9px !important;

    box-shadow:
        0 12px 34px
        rgba(0, 0, 0, .14) !important;

    text-align: left !important;
}

.hosting-usage-popup form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    gap: 7px !important;
    margin: 0 !important;
}

.hosting-usage-popup label {
    display: block !important;

    width: 100% !important;
    margin: 3px 0 0 !important;

    color: #30343a !important;

    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;

    text-align: left !important;
}

.hosting-usage-popup input,
.hosting-usage-popup select,
.hosting-usage-popup textarea,
.hosting-usage-popup .form-input {
    display: block !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    height: 38px !important;

    padding: 7px 10px !important;

    box-sizing: border-box !important;

    font-size: 13px !important;
    line-height: 1.25 !important;
}

.hosting-usage-popup textarea,
.hosting-usage-popup textarea.form-input {
    height: auto !important;
    min-height: 70px !important;
}

.hosting-usage-popup .field-hint {
    width: 100% !important;

    margin: 1px 0 4px !important;

    color: #747982 !important;

    font-size: 11px !important;
    line-height: 1.4 !important;

    white-space: normal !important;
}

.hosting-usage-popup .button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    min-width: 0 !important;

    min-height: 36px !important;

    margin-top: 3px !important;
}

.hosting-inventory-table-card {
    overflow: visible !important;
}

.hosting-inventory-table-card table,
.hosting-inventory-table-card tbody,
.hosting-inventory-table-card tr,
.hosting-inventory-table-card td {
    overflow: visible !important;
}

@media (max-width: 700px) {

    .hosting-usage-popup {
        width: 320px !important;
        max-width: calc(100vw - 30px) !important;
    }
}

/* =========================================================
   Hosting Server bearbeiten:
   Popup immer vollständig im Browserfenster
   ========================================================= */

.hosting-edit-details[open] {
    z-index: 3000;
}

.hosting-edit-details[open] .hosting-popup-form {
    position: fixed !important;

    top: 20px !important;
    right: 20px !important;
    bottom: 20px !important;
    left: auto !important;

    width: 420px !important;
    max-width: calc(100vw - 40px) !important;

    height: auto !important;
    max-height: none !important;

    overflow-y: auto !important;
    overflow-x: hidden !important;

    overscroll-behavior: contain;

    padding: 16px !important;

    box-sizing: border-box !important;

    background: #fff !important;
    border: 1px solid #dfe1e5 !important;
    border-radius: 10px !important;

    box-shadow:
        0 14px 45px
        rgba(0, 0, 0, .18) !important;

    z-index: 3100 !important;
}


/* Alle Felder sauber innerhalb des Panels */

.hosting-popup-form input,
.hosting-popup-form select,
.hosting-popup-form textarea,
.hosting-popup-form .form-input {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    box-sizing: border-box !important;
}


/* Speichern bleibt beim Scrollen unten erreichbar */

.hosting-popup-form > button[type="submit"] {
    position: sticky !important;
    bottom: -16px !important;

    z-index: 5;

    width: calc(100% + 32px) !important;

    margin:
        10px -16px -16px
        -16px !important;

    padding: 12px 16px !important;

    border-radius: 0 0 10px 10px !important;
}


/* Auch auf kleineren Bildschirmen nutzbar */

@media (max-width: 700px) {

    .hosting-edit-details[open] .hosting-popup-form {
        top: 10px !important;
        right: 10px !important;
        bottom: 10px !important;

        width: calc(100vw - 20px) !important;
        max-width: none !important;
    }
}

.customer-autocomplete{position:relative;min-width:240px}.customer-autocomplete-results{position:absolute;z-index:1000;left:0;right:0;top:100%;background:#fff;border:1px solid #d9dde5;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:260px;overflow:auto}.customer-autocomplete-option{display:block;width:100%;border:0;background:#fff;text-align:left;padding:.6rem .75rem;cursor:pointer}.customer-autocomplete-option:hover{background:#f3f5f7}

/* Server-Panel Aktionen */
td:has(.wa-visible-server-panel-link){
    white-space:nowrap;
}
.wa-visible-server-panel-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    vertical-align:middle;
    text-decoration:none;
    color:#fff;
    border-color:transparent;
}
.wa-visible-server-panel-link + .hosting-edit-details{
    display:inline-block;
    vertical-align:middle;
    margin-left:.35rem;
}
.wa-panel-hostinger{
    background:#673de6;
    border-color:#673de6;
    color:#fff;
}
.wa-panel-hostinger:hover{
    background:#5630c9;
    border-color:#5630c9;
    color:#fff;
}
.wa-panel-webgo{
    background:#f59e0b;
    border-color:#f59e0b;
    color:#fff;
}
.wa-panel-webgo:hover{
    background:#d88906;
    border-color:#d88906;
    color:#fff;
}
.wa-panel-abaton{
    background:#64748b;
    border-color:#64748b;
    color:#fff;
}


/* WordPress Inventur Tabelle */
.wa-table-wordpress{
    width:100%;
    border-collapse:separate;
    border-spacing:0;
    font-size:12.5px;
    line-height:1.3;
    border:1px solid #e4e8ee;
    border-radius:10px;
    overflow:hidden;
}
.wa-table-wordpress th,
.wa-table-wordpress td{
    padding:7px 9px;
    vertical-align:top;
    border-bottom:1px solid #e9edf2;
}
.wa-table-wordpress thead th{
    font-size:11.5px;
    font-weight:700;
    color:#5f6875;
    background:#f8f9fb;
    border-bottom:1px solid #dce2e9;
    text-align:left;
    white-space:nowrap;
}
.wa-table-wordpress tbody tr:nth-child(even){
    background:#fafbfd;
}
.wa-table-wordpress tbody tr:hover{
    background:#f4f7fa;
}
.wa-table-wordpress tbody tr:last-child td{
    border-bottom:0;
}
.wa-table-wordpress strong{
    font-size:12.5px;
    font-weight:650;
}
.wa-table-wordpress .field-hint{
    margin-top:2px;
    font-size:10.5px;
    line-height:1.2;
    color:#87919f;
}
.wa-table-wordpress details summary{
    cursor:pointer;
    white-space:nowrap;
}
.wa-table-wordpress details > div{
    line-height:1.35;
}
.wa-table-wordpress td:nth-child(3),
.wa-table-wordpress td:nth-child(4),
.wa-table-wordpress td:nth-child(8),
.wa-table-wordpress td:nth-child(9){
    white-space:nowrap;
}

/* Plugin-Bewertung */
.wa-plugin-table-wrap{overflow-x:auto}
.wa-plugin-assessment-table{min-width:1050px}
.wa-plugin-assessment-table th:nth-child(1){width:22%}
.wa-plugin-assessment-table th:nth-child(2){width:10%}
.wa-plugin-assessment-table th:nth-child(3){width:27%}
.wa-plugin-assessment-table th:nth-child(4){width:15%}
.wa-plugin-assessment-table th:nth-child(5){width:26%}
.wa-plugin-fields{display:grid;grid-template-columns:1fr;gap:.3rem;min-width:210px}
.wa-plugin-fields .button{justify-self:start}
.wa-plugin-sites{padding:.4rem 0;min-width:300px}
.wa-plugin-suggestion{border-left:3px solid #d7dde5}
.wa-suggestion-keep{border-left-color:#65a979}
.wa-suggestion-remove{border-left-color:#d96a6a}
.wa-suggestion-webartists_code{border-left-color:#d9a21b}
.wa-suggestion-review{border-left-color:#8894a3}
.wa-suggestion-replace{border-left-color:#8270cc}
.wa-plugin-use{white-space:nowrap}

/* Plugin-Bewertung kompakt */
.wa-plugin-table-wrap{overflow-x:auto}
.wa-plugin-assessment-table{width:100%;min-width:900px;table-layout:fixed}
.wa-plugin-assessment-table th:nth-child(1){width:25%}
.wa-plugin-assessment-table th:nth-child(2){width:12%}
.wa-plugin-assessment-table th:nth-child(3){width:43%}
.wa-plugin-assessment-table th:nth-child(4){width:20%}
.wa-plugin-assessment-table th,.wa-plugin-assessment-table td{padding:6px 8px!important;vertical-align:top!important;height:auto!important;min-height:0!important}
.wa-plugin-assessment-table tbody tr{height:auto!important;min-height:0!important}
.wa-plugin-assessment-table details{margin-top:2px}
.wa-plugin-assessment-table details summary{font-size:11px}
.wa-plugin-sites{padding:4px 0;max-height:180px;overflow:auto}
.wa-plugin-use{white-space:normal!important}
.wa-plugin-suggestion{border-left:3px solid #cfd6df}
.wa-suggestion-keep{border-left-color:#65a979}
.wa-suggestion-remove{border-left-color:#d96a6a}
.wa-suggestion-webartists_code{border-left-color:#e3a317}
.wa-suggestion-replace{border-left-color:#8270cc}
.wa-mini-badge{display:inline-block;margin:2px 3px 1px 0;padding:1px 5px;border-radius:10px;background:#f0f2f5;font-size:10px;color:#596273}
.wa-plugin-warning{margin-top:3px;font-size:10.5px;font-weight:600;color:#9a6510}
.wa-plugin-decision select{width:100%;max-width:190px}
.wa-own-plugin-details{margin-top:5px}
.wa-own-plugin-details input{display:block;width:100%;margin-top:4px}
.wa-own-plugin-details button{margin-top:4px}

/* Plugin-Aktionen */
.wa-plugin-action-buttons{
    display:flex;
    gap:5px;
    margin-top:5px;
    flex-wrap:nowrap;
}
.wa-plugin-action-buttons .button{
    flex:1 1 0;
    white-space:nowrap;
}
.wa-plugin-action-panel{
    margin-top:6px;
    padding:7px;
    border:1px solid #e3e7ec;
    border-radius:7px;
    background:#fafbfd;
}
.wa-plugin-action-panel input{
    width:100%;
    margin-bottom:4px;
}
.wa-plugin-action-panel .button{
    margin-top:4px;
}
.wa-code-hint{
    margin-top:5px;
    padding:5px 7px;
    font-size:10.5px;
    line-height:1.3;
    background:#fff8df;
    border-radius:5px;
}
.wa-plugin-decision{
    min-width:190px;
}

/* Plugin-Tabelle Layout v2 */
.wa-plugin-table-wrap{
    width:100%;
    overflow:visible;
}
.wa-plugin-assessment-table{
    width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
}
.wa-plugin-assessment-table th:nth-child(1){width:27%!important}
.wa-plugin-assessment-table th:nth-child(2){width:12%!important}
.wa-plugin-assessment-table th:nth-child(3){width:37%!important}
.wa-plugin-assessment-table th:nth-child(4){width:24%!important}
.wa-plugin-assessment-table th,
.wa-plugin-assessment-table td{
    padding:6px 8px!important;
    vertical-align:top!important;
    overflow-wrap:anywhere;
}
.wa-plugin-suggestion .field-hint{
    display:none;
}
.wa-plugin-decision{
    min-width:0!important;
    overflow:visible!important;
}
.wa-plugin-decision select{
    width:100%!important;
    max-width:none!important;
}
.wa-plugin-action-buttons{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:5px!important;
    width:100%!important;
    margin-top:5px!important;
}
.wa-plugin-action-buttons .button{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    padding:5px 6px!important;
    white-space:nowrap!important;
}
.wa-plugin-action-panel{
    width:100%!important;
    box-sizing:border-box!important;
    margin-top:5px!important;
    padding:7px!important;
    border:1px solid #e2e6eb!important;
    border-radius:6px!important;
    background:#fafbfd!important;
}
.wa-plugin-action-panel input{
    width:100%!important;
    box-sizing:border-box!important;
    margin-bottom:4px!important;
}
.wa-plugin-detail-text{
    margin-top:4px;
    font-size:11px;
    line-height:1.35;
    color:#687384;
}
.wa-plugin-warning{
    margin-top:5px;
    font-size:10.5px;
    line-height:1.3;
}
.wa-code-hint{
    margin-top:5px;
    padding:5px 6px;
    font-size:10.5px;
    line-height:1.3;
    background:#fff8df;
    border-radius:5px;
}

/* Plugin-Bewertung: Auswahl + Prüfen + Ersatz in einer Zeile */
.wa-plugin-assessment-table th:nth-child(1){width:27%!important}
.wa-plugin-assessment-table th:nth-child(2){width:12%!important}
.wa-plugin-assessment-table th:nth-child(3){width:35%!important}
.wa-plugin-assessment-table th:nth-child(4){width:26%!important}

.wa-plugin-decision form{
    display:grid!important;
    grid-template-columns:minmax(105px,1.35fr) minmax(70px,.8fr) minmax(70px,.8fr);
    gap:5px;
    align-items:start;
    width:100%;
}

.wa-plugin-decision select{
    grid-column:1;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
}

.wa-plugin-action-buttons{
    display:contents!important;
}

.wa-plugin-action-buttons .button{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:5px 6px!important;
}

.wa-plugin-action-buttons .button:nth-child(1){
    grid-column:2;
}

.wa-plugin-action-buttons .button:nth-child(2){
    grid-column:3;
}

.wa-plugin-action-panel{
    grid-column:1 / -1;
    width:100%!important;
    box-sizing:border-box;
    margin-top:2px!important;
}

/* Plugin Ersatz-Panel: nichts abschneiden */
.wa-plugin-assessment-table td,
.wa-plugin-assessment-table tr{
    overflow:visible!important;
}

.wa-plugin-action-panel[id^="replace-"]:not([hidden]){
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:5px!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    overflow:visible!important;
}

.wa-plugin-action-panel[id^="replace-"] input{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    margin:0!important;
}

.wa-plugin-action-panel[id^="replace-"] input[name="replacement"]{
    grid-column:1;
}

.wa-plugin-action-panel[id^="replace-"] input[name="webartists_module"]{
    grid-column:2;
}

.wa-plugin-action-panel[id^="replace-"] input[name="note"]{
    grid-column:1 / -1;
}

.wa-plugin-action-panel[id^="replace-"] button[type="submit"]{
    grid-column:1 / -1;
    justify-self:start;
    width:auto!important;
    min-width:90px!important;
    max-width:none!important;
    margin-top:2px!important;
}

/* WordPress Benutzerstandard */
.wa-wp-user-search{display:flex;gap:.4rem;margin:.6rem 0}
.wa-wp-standard-info{display:flex;gap:.35rem;flex-wrap:wrap;margin:.5rem 0 .8rem}
.wa-wp-standard-info span{padding:2px 7px;border-radius:12px;background:#f1f3f6;font-size:10.5px}
.wa-wp-user-table{font-size:11.5px}
.wa-wp-user-table th,.wa-wp-user-table td{padding:6px 8px!important}
.wa-user-rule{margin-bottom:3px}
.wa-user-rule.ok{color:#347849}
.wa-user-rule.bad{color:#a14b3f}
.wa-admin-assessment{display:flex;gap:.3rem;align-items:center;margin-bottom:3px}
.wa-admin-assessment>span{min-width:110px}
.wa-admin-assessment select{width:auto;min-width:125px}
.wa-user-list{padding-top:4px;min-width:260px}
.wa-user-list>div{margin-bottom:3px}
.wa-user-list .field-hint{display:inline;margin-left:4px}
.wa-standard-state{margin-bottom:5px}
.wa-standard-state.ok,.wa-standard-state.confirmed{color:#347849}
.wa-standard-state.warning{color:#a66b13}
.wa-standard-state.exception{color:#66549b}
.wa-standard-state.review{color:#333}
.wa-standard-exception{margin-top:5px}
.wa-standard-exception textarea{width:100%;box-sizing:border-box;margin:5px 0}

/* WordPress Theme Policy */
.wa-theme-state{
    font-size:10.5px;
    font-weight:600;
}
.wa-theme-state.ok{
    color:#34834a;
}
.wa-theme-state.warning{
    color:#a66b13;
}

/* WordPress Health Check */
.wa-health-search{display:flex;gap:.4rem;margin:.6rem 0}
.wa-health-table{font-size:11.5px}
.wa-health-table th,.wa-health-table td{padding:7px 8px!important}
.wa-health-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}
.wa-health-dot.green{background:#4fa467}
.wa-health-dot.yellow{background:#e6b63f}
.wa-health-dot.orange{background:#e98b36}
.wa-health-dot.red{background:#d85858}
.wa-health-dot.gray{background:#aab2bd}
.wa-health-badge{display:inline-block;padding:3px 7px;border-radius:12px;font-size:10.5px;font-weight:600;white-space:nowrap}
.wa-health-badge.green{background:#e7f5eb;color:#317747}
.wa-health-badge.yellow{background:#fff6d9;color:#8b6810}
.wa-health-badge.orange{background:#fff0df;color:#a45b14}
.wa-health-badge.red{background:#fde7e7;color:#a43d3d}
.wa-health-badge.gray{background:#eef1f4;color:#697482}

/* Einheitliche WordPress Navigation */
.wa-wp-subnav{
    display:flex;
    gap:.4rem;
    flex-wrap:wrap;
    margin:.65rem 0 .9rem;
}

.wa-wp-nav-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:5px 12px;
    border:1px solid #dde2e8;
    border-radius:8px;
    background:#fff;
    color:#303640;
    font-size:12px;
    font-weight:500;
    text-decoration:none;
}

.wa-wp-nav-button:hover{
    background:#f5f7f9;
    color:#20252c;
}

.wa-wp-nav-button.active{
    background:#f2a000;
    border-color:#f2a000;
    color:#fff;
    font-weight:700;
}

/* Website Health Check erweitert */
.wa-health-table-wrap{width:100%;overflow-x:auto}
.wa-health-table{min-width:1450px;font-size:11px}
.wa-health-table th,.wa-health-table td{padding:6px 7px!important;vertical-align:top}
.wa-health-table th{white-space:nowrap}
.wa-health-table .field-hint{font-size:9.8px}

/* Health Check kompakter */
.wa-health-table{min-width:1280px!important;font-size:10.8px!important}
.wa-health-table th,.wa-health-table td{padding:5px 6px!important}
.wa-health-compact{display:flex;align-items:center;gap:4px;min-width:0}
.wa-health-compact>span:last-child{
    display:block;
    max-width:115px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.wa-health-table th{text-align:left;font-size:10px!important}
.wa-health-table .wa-health-dot{flex:0 0 8px}
.wa-health-table tbody tr:nth-child(even){background:#fafbfd}
.wa-health-table tbody tr:hover{background:#f2f6fa}

/* Health Check kompakter */
.wa-health-table{min-width:1280px!important;font-size:10.8px!important}
.wa-health-table th,.wa-health-table td{padding:5px 6px!important}
.wa-health-compact{display:flex;align-items:center;gap:4px;min-width:0}
.wa-health-compact>span:last-child{
    display:block;
    max-width:115px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.wa-health-table th{text-align:left;font-size:10px!important}
.wa-health-table .wa-health-dot{flex:0 0 8px}
.wa-health-table tbody tr:nth-child(even){background:#fafbfd}
.wa-health-table tbody tr:hover{background:#f2f6fa}

/* WordPress Benutzerstandard */
.wa-wp-user-search{display:flex;gap:.4rem;margin:.6rem 0}
.wa-wp-standard-info{display:flex;gap:.35rem;flex-wrap:wrap;margin:.5rem 0 .8rem}
.wa-wp-standard-info span{padding:2px 7px;border-radius:12px;background:#f1f3f6;font-size:10.5px}
.wa-wp-user-table{font-size:11.5px}
.wa-wp-user-table th,.wa-wp-user-table td{padding:6px 8px!important}
.wa-user-rule{margin-bottom:3px}
.wa-user-rule.ok{color:#347849}
.wa-user-rule.bad{color:#a14b3f}
.wa-admin-assessment{display:flex;gap:.3rem;align-items:center;margin-bottom:3px}
.wa-admin-assessment>span{min-width:110px}
.wa-admin-assessment select{width:auto;min-width:125px}
.wa-user-list{padding-top:4px;min-width:260px}
.wa-user-list>div{margin-bottom:3px}
.wa-user-list .field-hint{display:inline;margin-left:4px}
.wa-standard-state{margin-bottom:5px}
.wa-standard-state.ok,.wa-standard-state.confirmed{color:#347849}
.wa-standard-state.warning{color:#a66b13}
.wa-standard-state.exception{color:#66549b}
.wa-standard-state.review{color:#333}
.wa-standard-exception{margin-top:5px}
.wa-standard-exception textarea{width:100%;box-sizing:border-box;margin:5px 0}
