*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:#f4f6f8;color:#15232b}.topbar{background:#10242e;color:white;padding:16px 24px;display:flex;justify-content:space-between;gap:20px;align-items:center}.topbar strong{font-size:18px}.topbar span{opacity:.72;margin-left:10px}.topbar a{color:white;text-decoration:none;margin-left:16px;opacity:.86}.topbar a:hover{opacity:1}.container{max-width:1220px;margin:0 auto;padding:28px}.footer{text-align:center;color:#667;padding:24px}.page-title{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.page-title h1{margin:0}.page-title p{margin:.35rem 0 0;color:#5f6b73}.card{background:white;border:1px solid #dfe5ea;border-radius:18px;padding:22px;box-shadow:0 8px 22px rgba(20,35,45,.06)}.narrow{max-width:680px;margin:28px auto}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}.site-card h2{margin:14px 0 4px}.url{color:#557;word-break:break-all}.status-row{display:flex;justify-content:space-between;align-items:center}.badge{display:inline-flex;border-radius:999px;padding:5px 10px;font-size:13px;font-weight:700}.badge.ok{background:#e7f7ed;color:#096b2d}.badge.warn{background:#fff4d7;color:#835400}.badge.bad{background:#fde8e8;color:#9f1f1f}.muted,.description{color:#6a737b}.error{color:#a11;font-weight:700}.warn-text{color:#835400}.warning{background:#fff8df;border:1px solid #f1d27a;padding:12px;border-radius:10px}.notice{margin-bottom:18px;padding:13px 15px;border-radius:12px}.notice.ok{background:#e7f7ed;color:#096b2d}.notice.bad{background:#fde8e8;color:#9f1f1f}.facts{display:grid;grid-template-columns:150px 1fr;gap:8px;margin:18px 0}.facts dt{font-weight:700;color:#4d5961}.facts dd{margin:0}.mini-list{padding-left:18px}.mini-list code{font-size:12px}.actions{display:flex;gap:12px;margin-top:18px}.actions a,.button,button{display:inline-flex;align-items:center;border:0;background:#123849;color:white;border-radius:10px;padding:10px 14px;text-decoration:none;font-weight:700;cursor:pointer;font-size:14px}.button.secondary{background:#e9eef2;color:#123849;margin-left:8px}button.danger{background:#a52424}label{display:block;font-weight:700;margin:15px 0 6px}input{width:100%;padding:12px 13px;border:1px solid #cfd7de;border-radius:10px;font-size:15px}form button{margin-top:16px}hr{border:0;border-top:1px solid #e1e5e8;margin:24px 0}pre.json{max-height:620px;overflow:auto;background:#0d1b22;color:#d8f2ff;border-radius:14px;padding:18px;font-size:12px;line-height:1.45}code{background:#eef3f6;border-radius:5px;padding:2px 5px}@media(max-width:760px){.topbar{display:block}.topbar nav{margin-top:12px}.topbar a{display:inline-block;margin:0 12px 8px 0}.container{padding:18px}.page-title{display:block}.facts{grid-template-columns:1fr}}

.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.toolbar a{background:white;border:1px solid #dfe5ea;border-radius:999px;padding:9px 13px;text-decoration:none;color:#123849;font-weight:700}.toolbar a.active{background:#123849;color:white}.summary-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:18px}.summary-strip div{background:white;border:1px solid #dfe5ea;border-radius:15px;padding:14px}.summary-strip strong{display:block;font-size:24px}.summary-strip span{color:#6a737b;font-size:13px}.table-card{padding:0;overflow:hidden}.domain-table{width:100%;border-collapse:collapse}.domain-table th{background:#eef3f6;text-align:left;font-size:13px;color:#4d5961;padding:12px;border-bottom:1px solid #dfe5ea}.domain-table td{padding:13px 12px;border-bottom:1px solid #edf1f4;vertical-align:middle}.domain-table tbody tr{cursor:pointer}.domain-table tbody tr:hover{background:#f7fafc}.domain-table tbody tr.service-row{background:#f0faf5}.domain-table tbody tr.service-row:hover{background:#e7f7ef}.domain-table tbody tr.offline-row{background:#fff3f3}.small{font-size:12px}.service-pill{display:inline-flex;background:#dff5e8;color:#07612c;border:1px solid #b9e7ca;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800}.row-actions a{font-size:13px;color:#123849;text-decoration:none;font-weight:700}.empty-row{text-align:center;color:#6a737b;padding:22px!important}.checkline{display:flex;align-items:center;gap:10px;background:#f0faf5;border:1px solid #b9e7ca;border-radius:12px;padding:12px 14px;margin-top:14px}.checkline input{width:auto}.domain-table .badge{white-space:nowrap}@media(max-width:980px){.table-card{overflow:auto}.domain-table{min-width:920px}}


/* 0.1.3 Accordion overview */
.accordion-table .accordion-main.is-open{box-shadow:inset 4px 0 0 #123849}
.accordion-toggle{width:30px;height:30px;border-radius:999px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:#e9eef2;color:#123849;font-size:18px;line-height:1}
.accordion-main:hover .accordion-toggle,.accordion-main.is-open .accordion-toggle{background:#123849;color:#fff}
.accordion-detail[hidden]{display:none!important}
.accordion-detail td{background:#fbfdfe;padding:0!important}
.accordion-detail.service-row td{background:#f3fbf6}
.accordion-panel{padding:20px 24px;border-top:1px solid #dfe5ea}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:22px}
.detail-grid h3{margin:0 0 10px;font-size:16px}
.detail-grid h4{margin:12px 0 8px;font-size:14px}
.compact-facts{display:grid;grid-template-columns:110px 1fr;gap:7px;margin:0}
.compact-facts dt{font-weight:700;color:#4d5961}
.compact-facts dd{margin:0}
.update-pill{display:inline-flex;background:#eef3f6;border:1px solid #d6e0e7;border-radius:8px;padding:3px 7px;font-size:12px;font-weight:800;color:#33434c}
.ok-text{color:#096b2d;font-weight:700}
.columns{columns:2;column-gap:28px}
.detail-actions{margin:18px 0 0}
@media(max-width:980px){.detail-grid{grid-template-columns:1fr}.columns{columns:1}}


/* 0.1.4 service tiers */
select{width:100%;padding:12px 13px;border:1px solid #cfd7de;border-radius:10px;font-size:15px;background:#fff}
.domain-table tbody tr.service-basic-row{background:#f1fbf5}
.domain-table tbody tr.service-basic-row:hover{background:#e7f7ee}
.domain-table tbody tr.service-premium-row{background:#fff8e6}
.domain-table tbody tr.service-premium-row:hover{background:#fff1c7}
.accordion-detail.service-basic-row td{background:#f5fcf8}
.accordion-detail.service-premium-row td{background:#fffaf0}
.service-pill.basic{background:#dff5e8;color:#07612c;border-color:#b9e7ca}
.service-pill.premium{background:#ffefbd;color:#7a4f00;border-color:#f2d37a}


/* 0.1.9 Gemonio check */
.gemonio-pill{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;white-space:nowrap;border:1px solid transparent}
.gemonio-pill.active{background:#e3f7ec;color:#07612c;border-color:#b9e7ca}
.gemonio-pill.inactive{background:#fff3d5;color:#835400;border-color:#e8c66a}
.gemonio-pill.missing{background:#f2f4f6;color:#66727b;border-color:#d8e0e6}
.domain-table th:nth-child(5),.domain-table td:nth-child(5){min-width:130px}


/* 0.1.10 UI tweaks: Basic/Premium colors swapped */
.domain-table tbody tr.service-basic-row{background:#fff8e6}
.domain-table tbody tr.service-basic-row:hover{background:#fff1c7}
.domain-table tbody tr.service-premium-row{background:#f1fbf5}
.domain-table tbody tr.service-premium-row:hover{background:#e7f7ee}
.accordion-detail.service-basic-row td{background:#fffaf0}
.accordion-detail.service-premium-row td{background:#f5fcf8}
.service-pill.basic{background:#ffefbd;color:#7a4f00;border-color:#f2d37a}
.service-pill.premium{background:#dff5e8;color:#07612c;border-color:#b9e7ca}
.gemonio-pill{padding-left:7px;padding-right:7px}
.domain-table th:nth-child(5),.domain-table td:nth-child(5){min-width:90px}


/* 0.1.11 sortable dashboard */
.sortable-table th .sort-link{color:#34434d;text-decoration:none;display:inline-flex;align-items:center;gap:4px}
.sortable-table th .sort-link:hover{color:#10242e;text-decoration:underline}
.sortable-table th{white-space:nowrap}
.sortable-table th:nth-child(9){min-width:110px}


/* 0.1.12 Plugin/Theme auto-update indicator */
.au-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:3px 7px;font-size:12px;font-weight:900;border:1px solid transparent;min-width:31px}
.au-pill.active{background:#dff5e8;color:#07612c;border-color:#b9e7ca}
.au-pill.inactive{background:#fde8e8;color:#9f1f1f;border-color:#f0b9b9}
.au-pill.unknown{background:#eef3f6;color:#66727b;border-color:#d8e0e6}


/* 0.1.13 inline update badges */
.update-badges{
    display:inline-flex;
    align-items:center;
    gap:4px;
    white-space:nowrap;
    flex-wrap:nowrap;
}
.update-badges .update-pill,
.update-badges .au-pill{
    margin:0;
}
.update-pill,
.au-pill{
    line-height:1.15;
}
.domain-table td:nth-child(9){
    white-space:nowrap;
}
.domain-table th:nth-child(9),
.domain-table td:nth-child(9){
    min-width:104px;
}


/* 1.0.0 health dashboard + compact top area */
.page-title.compact{
    margin-bottom:10px;
    padding-bottom:8px;
}
.page-title.compact h1{
    margin-bottom:2px;
    font-size:28px;
}
.page-title.compact p{
    margin-top:0;
    margin-bottom:0;
}
.toolbar{
    margin:8px 0 10px;
    gap:6px;
}
.toolbar a{
    padding:7px 10px;
}
.summary-strip{
    margin:8px 0 10px;
    gap:8px;
}
.summary-strip div{
    padding:8px 10px;
}
.summary-strip strong{
    font-size:20px;
}
.summary-strip span{
    font-size:11px;
}
.table-card{
    margin-top:8px;
}

.health-button{
    display:inline-flex;
    align-items:center;
    gap:6px;
    border-radius:999px;
    padding:4px 8px 4px 5px;
    border:1px solid transparent;
    font-weight:850;
    white-space:nowrap;
    line-height:1;
}
.health-button span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
    border-radius:999px;
    font-size:10px;
    font-weight:950;
}
.health-button em{
    font-style:normal;
    font-size:12px;
}
.health-button.ok{
    background:#e4f8ed;
    color:#075f2c;
    border-color:#b9e7ca;
}
.health-button.ok span{
    background:#22a55f;
    color:#fff;
}
.health-button.notice{
    background:#eef5ff;
    color:#20507d;
    border-color:#bfdbfe;
}
.health-button.notice span{
    background:#3b82f6;
    color:#fff;
}
.health-button.warn{
    background:#fff3d5;
    color:#7a4f00;
    border-color:#e8c66a;
}
.health-button.warn span{
    background:#f59e0b;
    color:#fff;
}
.health-button.bad{
    background:#fde8e8;
    color:#9f1f1f;
    border-color:#f0b9b9;
}
.health-button.bad span{
    background:#dc2626;
    color:#fff;
}

.update-pill.ok{
    background:#dff5e8;
    color:#07612c;
    border-color:#b9e7ca;
}
.update-pill.warn{
    background:#fff3d5;
    color:#835400;
    border-color:#e8c66a;
}
.domain-table th:nth-child(2),
.domain-table td:nth-child(2){
    min-width:96px;
}


/* 1.0.1 Health dot + responsive polish */
.health-head{
    width:34px;
    min-width:34px !important;
    max-width:34px;
}
.health-sort{
    display:block !important;
    width:18px;
    height:18px;
    border-radius:999px;
    margin:auto;
    background:linear-gradient(135deg,#22a55f,#facc15,#f97316,#dc2626);
    opacity:.55;
}
.health-sort:hover{
    opacity:1;
    text-decoration:none !important;
}
.health-button{
    all:unset;
}
.health-dot{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:22px;
    height:22px;
    padding:0;
    border:0;
    background:transparent;
    cursor:pointer;
    vertical-align:middle;
}
.health-dot-core{
    display:block;
    width:16px;
    height:16px;
    border-radius:999px;
    box-shadow:0 0 0 3px rgba(0,0,0,.04), inset 0 1px 2px rgba(255,255,255,.45);
}
.health-dot.ok .health-dot-core{background:#22a55f}
.health-dot.notice .health-dot-core{background:#facc15}
.health-dot.warn .health-dot-core{background:#f97316}
.health-dot.bad .health-dot-core{background:#dc2626}
.health-popover{
    position:absolute;
    left:50%;
    top:28px;
    transform:translateX(-50%);
    z-index:120;
    width:260px;
    padding:10px 12px;
    border-radius:14px;
    background:#10242e;
    color:#fff;
    box-shadow:0 14px 34px rgba(16,36,46,.24);
    text-align:left;
    pointer-events:none;
    opacity:0;
    visibility:hidden;
    transition:opacity .12s ease, visibility .12s ease, transform .12s ease;
}
.health-popover:before{
    content:"";
    position:absolute;
    left:50%;
    top:-6px;
    transform:translateX(-50%) rotate(45deg);
    width:12px;
    height:12px;
    background:#10242e;
}
.health-popover strong{
    display:block;
    font-size:13px;
    margin-bottom:6px;
}
.health-popover ul{
    margin:0;
    padding-left:16px;
}
.health-popover li{
    font-size:12px;
    line-height:1.35;
    margin:2px 0;
}
.health-dot:hover .health-popover,
.health-dot:focus .health-popover,
.health-dot:focus-visible .health-popover{
    opacity:1;
    visibility:visible;
    transform:translateX(-50%) translateY(2px);
}
.domain-table td:nth-child(2),
.domain-table th:nth-child(2){
    min-width:34px !important;
    width:34px;
    text-align:center;
    position:relative;
}
.domain-table td:nth-child(2){
    overflow:visible;
}

/* Responsive dashboard table */
.table-card{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
}
.domain-table{
    min-width:980px;
}
@media (max-width: 782px){
    body{
        padding:10px;
    }
    .wrap{
        max-width:100%;
    }
    .page-title.compact{
        display:flex;
        align-items:flex-start;
        gap:8px;
        margin-bottom:8px;
    }
    .page-title.compact h1{
        font-size:22px;
        line-height:1.1;
    }
    .page-title.compact p{
        font-size:12px;
    }
    .page-title.compact .button{
        padding:7px 9px;
        font-size:12px;
        white-space:nowrap;
    }
    .toolbar{
        overflow-x:auto;
        flex-wrap:nowrap;
        white-space:nowrap;
        padding-bottom:3px;
    }
    .toolbar a{
        flex:0 0 auto;
        padding:6px 9px;
        font-size:12px;
    }
    .summary-strip{
        display:flex;
        overflow-x:auto;
        flex-wrap:nowrap;
        padding-bottom:3px;
    }
    .summary-strip div{
        flex:0 0 auto;
        min-width:86px;
        padding:7px 9px;
    }
    .summary-strip strong{
        font-size:18px;
    }
    .summary-strip span{
        font-size:10px;
    }
    .table-card{
        margin-left:-10px;
        margin-right:-10px;
        border-radius:0;
        padding-left:10px;
        padding-right:10px;
    }
    .domain-table{
        min-width:920px;
        font-size:12px;
    }
    .domain-table th,
    .domain-table td{
        padding:8px 7px;
    }
    .domain-table td:nth-child(4){
        max-width:190px;
    }
    .domain-table td:nth-child(4) strong{
        font-size:12px;
    }
    .domain-table .small{
        font-size:10px;
    }
    .service-pill,
    .gemonio-pill,
    .update-pill,
    .au-pill{
        font-size:11px;
        padding:3px 6px;
    }
    .update-badges{
        gap:3px;
    }
    .health-popover{
        position:fixed;
        left:12px;
        right:12px;
        top:auto;
        bottom:18px;
        width:auto;
        transform:none;
    }
    .health-popover:before{
        display:none;
    }
    .health-dot:hover .health-popover,
    .health-dot:focus .health-popover,
    .health-dot:focus-visible .health-popover{
        transform:none;
    }
}


/* 1.1.0 service maintenance layer */
.maintenance-badge{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:850;border:1px solid transparent;white-space:nowrap}
.maintenance-badge.ok{background:#dff5e8;color:#07612c;border-color:#b9e7ca}
.maintenance-badge.due{background:#fff3d5;color:#835400;border-color:#e8c66a}
.maintenance-badge.overdue{background:#fde8e8;color:#9f1f1f;border-color:#f0b9b9}
.maintenance-badge.unknown{background:#eef3f6;color:#66727b;border-color:#d8e0e6}
.maintenance-box{border:1px solid #e2e8ee;background:#fbfdff;border-radius:14px;padding:12px}
.maintenance-note{margin:8px 0 10px;padding:8px 10px;border-radius:10px;background:#f5f7f9;color:#40515d;font-size:13px}
.maintenance-form{display:grid;gap:7px}
.maintenance-form label{font-size:12px;font-weight:800;color:#40515d}
.maintenance-form textarea{width:100%;min-height:74px;border:1px solid #ccd6df;border-radius:10px;padding:8px 10px;font:inherit;resize:vertical;box-sizing:border-box}
.maintenance-form .button{justify-self:start}
@media (max-width:782px){.maintenance-box{padding:10px}.maintenance-form textarea{min-height:68px}}


/* 1.1.1 popup direction + separated auto-update indicators */
.health-popover{
    left:24px !important;
    right:auto !important;
    top:50% !important;
    transform:translateY(-50%) !important;
}
.health-popover:before{
    left:-6px !important;
    top:50% !important;
    transform:translateY(-50%) rotate(45deg) !important;
}
.health-dot:hover .health-popover,
.health-dot:focus .health-popover,
.health-dot:focus-visible .health-popover{
    transform:translateY(-50%) translateX(2px) !important;
}

.au-split-group{
    display:inline-flex;
    align-items:center;
    gap:3px;
    white-space:nowrap;
}
.au-pill.au-split{
    min-width:27px;
    padding-left:5px;
    padding-right:5px;
    font-size:11px;
}
.au-pill.active{background:#dff5e8;color:#07612c;border-color:#b9e7ca}
.au-pill.inactive{background:#fde8e8;color:#9f1f1f;border-color:#f0b9b9}
.au-pill.unknown{background:#eef3f6;color:#66727b;border-color:#d8e0e6}

@media (max-width: 782px){
    .health-popover{
        position:fixed !important;
        left:12px !important;
        right:12px !important;
        top:auto !important;
        bottom:18px !important;
        width:auto !important;
        transform:none !important;
    }
    .health-popover:before{
        display:none !important;
    }
    .health-dot:hover .health-popover,
    .health-dot:focus .health-popover,
    .health-dot:focus-visible .health-popover{
        transform:none !important;
    }
}


/* 1.1.2 Compact typography */
.domain-table{
    font-size:13px;
}
.domain-table th{
    font-size:12px;
    font-weight:800;
}
.domain-table td{
    font-size:13px;
}
.domain-table td strong{
    font-size:14px;
}
.domain-table .small,
.domain-table .muted.small{
    font-size:11px;
    line-height:1.25;
}
.badge,
.service-pill,
.gemonio-pill,
.update-pill,
.au-pill,
.maintenance-badge{
    font-size:11px;
    line-height:1.15;
}
.update-pill,
.au-pill{
    padding:3px 6px;
}
.gemonio-pill{
    padding:3px 7px;
}
.service-pill{
    padding:4px 8px;
}
.health-dot{
    width:20px;
    height:20px;
}
.health-dot-core{
    width:14px;
    height:14px;
}
.accordion-toggle{
    width:28px;
    height:28px;
    font-size:18px;
}
.domain-table th,
.domain-table td{
    padding-top:10px;
    padding-bottom:10px;
}
@media (max-width: 782px){
    .domain-table{
        font-size:12px;
    }
    .domain-table td{
        font-size:12px;
    }
    .domain-table td strong{
        font-size:13px;
    }
    .badge,
    .service-pill,
    .gemonio-pill,
    .update-pill,
    .au-pill,
    .maintenance-badge{
        font-size:10.5px;
    }
}


/* 1.1.3 compact columns: avoid horizontal scroll on desktop */
.table-card{
    overflow-x:visible;
}
.domain-table{
    width:100%;
    min-width:0 !important;
    table-layout:fixed;
    font-size:12.5px;
}
.domain-table th,
.domain-table td{
    padding:9px 7px;
}
.domain-table th{
    font-size:11.5px;
}
.domain-table td strong{
    font-size:13px;
    line-height:1.2;
}
.domain-table .small,
.domain-table .muted.small{
    font-size:10.5px;
    line-height:1.2;
}
.domain-table th:nth-child(1),
.domain-table td:nth-child(1){width:34px}
.domain-table th:nth-child(2),
.domain-table td:nth-child(2){width:28px;min-width:28px !important}
.domain-table th:nth-child(3),
.domain-table td:nth-child(3){width:86px}
.domain-table th:nth-child(4),
.domain-table td:nth-child(4){width:19%}
.domain-table th:nth-child(5),
.domain-table td:nth-child(5){width:86px}
.domain-table th:nth-child(6),
.domain-table td:nth-child(6){width:104px;min-width:0}
.domain-table th:nth-child(7),
.domain-table td:nth-child(7){width:62px}
.domain-table th:nth-child(8),
.domain-table td:nth-child(8){width:48px}
.domain-table th:nth-child(9),
.domain-table td:nth-child(9){width:58px;min-width:0}
.domain-table th:nth-child(10),
.domain-table td:nth-child(10){width:146px;min-width:0}
.domain-table th:nth-child(11),
.domain-table td:nth-child(11){width:112px}
.domain-table th:nth-child(12),
.domain-table td:nth-child(12){width:54px}

.domain-table td{
    overflow:hidden;
    text-overflow:ellipsis;
}
.domain-table td:nth-child(2),
.domain-table td:nth-child(10){
    overflow:visible;
}
.domain-table td:nth-child(4) strong,
.domain-table td:nth-child(4) .small{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
}
.domain-table td:nth-child(4) .small{
    white-space:nowrap;
}
.badge,
.service-pill,
.gemonio-pill,
.update-pill,
.au-pill,
.maintenance-badge{
    font-size:10.5px;
    padding:3px 6px;
}
.service-pill{
    padding:3px 7px;
}
.gemonio-pill{
    padding:3px 6px;
}
.update-badges,
.au-split-group{
    gap:2px;
}
.au-pill.au-split{
    min-width:25px;
    padding-left:4px;
    padding-right:4px;
}
.accordion-toggle{
    width:26px;
    height:26px;
    font-size:17px;
}
.health-dot{
    width:18px;
    height:18px;
}
.health-dot-core{
    width:13px;
    height:13px;
}
.row-actions a{
    font-size:11.5px;
}

/* Date/time may wrap instead of forcing table width */
.domain-table td:nth-child(11) .small{
    white-space:normal;
    overflow-wrap:anywhere;
}

/* Mobile keeps controlled horizontal scroll, but less width than before */
@media (max-width: 900px){
    .table-card{
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
    }
    .domain-table{
        min-width:820px !important;
        table-layout:fixed;
    }
}
@media (max-width: 782px){
    .domain-table{
        min-width:790px !important;
        font-size:11.5px;
    }
    .domain-table th,
    .domain-table td{
        padding:7px 6px;
    }
    .domain-table td strong{
        font-size:12.5px;
    }
    .badge,
    .service-pill,
    .gemonio-pill,
    .update-pill,
    .au-pill,
    .maintenance-badge{
        font-size:10px;
    }
}


/* 1.1.5 summary strip: one-line, left-weighted service boxes */
.summary-strip.summary-strip-compact{
    display:flex;
    align-items:stretch;
    gap:7px;
    flex-wrap:nowrap;
    overflow-x:visible;
    margin:7px 0 9px;
}
.summary-strip.summary-strip-compact .summary-box,
.summary-strip.summary-strip-compact > div{
    flex:1 1 0;
    min-width:0;
    padding:7px 8px;
    border-radius:12px;
}
.summary-strip.summary-strip-compact strong{
    font-size:18px;
    line-height:1;
}
.summary-strip.summary-strip-compact span{
    font-size:10.5px;
    line-height:1.1;
    white-space:nowrap;
}
.summary-strip.summary-strip-compact .summary-box.sites{
    flex:1.15 1 0;
    background:#7a4f2a;
    color:#fff;
    border-color:#7a4f2a;
}
.summary-strip.summary-strip-compact .summary-box.sites strong,
.summary-strip.summary-strip-compact .summary-box.sites span{
    color:#fff;
}
.summary-strip.summary-strip-compact .summary-box.premium{
    background:#dff5e8;
    border-color:#b9e7ca;
    color:#07612c;
}
.summary-strip.summary-strip-compact .summary-box.basic{
    background:#fff3d5;
    border-color:#e8c66a;
    color:#7a4f00;
}
.summary-strip.summary-strip-compact .summary-box.premium strong,
.summary-strip.summary-strip-compact .summary-box.premium span{
    color:#07612c;
}
.summary-strip.summary-strip-compact .summary-box.basic strong,
.summary-strip.summary-strip-compact .summary-box.basic span{
    color:#7a4f00;
}
.row-actions a{
    font-size:11.5px;
    letter-spacing:.01em;
}

@media (max-width: 980px){
    .summary-strip.summary-strip-compact{
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
        padding-bottom:3px;
    }
    .summary-strip.summary-strip-compact .summary-box,
    .summary-strip.summary-strip-compact > div{
        flex:0 0 82px;
    }
    .summary-strip.summary-strip-compact .summary-box.sites,
    .summary-strip.summary-strip-compact .summary-box.premium,
    .summary-strip.summary-strip-compact .summary-box.basic{
        flex-basis:86px;
    }
}


/* 1.1.6 Core Auto-Update + Health scoring fix */
.au-split-group{
    display:inline-flex;
    align-items:center;
    gap:2px;
    white-space:nowrap;
}
.au-pill.au-split{
    min-width:24px;
    padding-left:4px;
    padding-right:4px;
    font-size:10.5px;
}


/* 1.1.7 UX: compact versions, minute time, loading indicator, clearer hover */
.domain-table td:nth-child(7),
.domain-table td:nth-child(8),
.domain-table td:nth-child(9){
    font-size:11px;
    line-height:1.15;
}
.domain-table th:nth-child(7),
.domain-table th:nth-child(8),
.domain-table th:nth-child(9){
    font-size:10.5px;
}
.domain-table td:nth-child(7) .warn-text,
.domain-table td:nth-child(7) .small{
    font-size:10px;
}
.compact-time{
    font-size:10.5px !important;
    line-height:1.15 !important;
    white-space:nowrap;
}
.domain-table th:nth-child(11),
.domain-table td:nth-child(11){
    width:92px;
}

.wsw-loading-overlay{
    position:fixed;
    inset:0;
    z-index:9999;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    padding-top:72px;
    background:rgba(250,252,253,.72);
    backdrop-filter:blur(3px);
}
.wsw-loading-overlay[hidden]{
    display:none;
}
.wsw-loading-box{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:280px;
    max-width:420px;
    padding:14px 18px;
    border-radius:16px;
    background:#fff;
    border:1px solid #d9e3ea;
    box-shadow:0 18px 45px rgba(16,36,46,.16);
    color:#10242e;
}
.wsw-loading-box strong{
    display:block;
    font-size:14px;
    line-height:1.2;
}
.wsw-loading-box small{
    display:block;
    margin-top:2px;
    color:#657684;
    font-size:12px;
}
.wsw-spinner{
    width:22px;
    height:22px;
    border-radius:50%;
    border:3px solid #d8e6ef;
    border-top-color:#2f7ebc;
    animation:wsw-spin .8s linear infinite;
    flex:0 0 auto;
}
@keyframes wsw-spin{
    to{transform:rotate(360deg)}
}

.button,
.toolbar a,
.sort-link,
.row-actions a,
.accordion-toggle,
.health-dot,
.service-pill,
.gemonio-pill,
.update-pill,
.au-pill,
.maintenance-badge{
    transition:background-color .14s ease, border-color .14s ease, color .14s ease, box-shadow .14s ease, transform .08s ease;
}
.button:hover,
.button:focus-visible{
    filter:none;
    box-shadow:0 0 0 3px rgba(47,126,188,.16), 0 2px 8px rgba(16,36,46,.10);
    transform:translateY(-1px);
}
.button.secondary:hover,
.button.secondary:focus-visible{
    background:#eef6fc;
    border-color:#9ec9f5;
}
.toolbar a:hover,
.toolbar a:focus-visible{
    background:#eef6fc;
    border-color:#9ec9f5;
    color:#174d78;
}
.sort-link:hover,
.sort-link:focus-visible{
    background:#eef6fc;
    border-radius:8px;
    box-shadow:0 0 0 4px #eef6fc;
    text-decoration:none !important;
}
.row-actions a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:8px;
    padding:4px 6px;
}
.row-actions a:hover,
.row-actions a:focus-visible{
    background:#eef6fc;
    color:#174d78;
    text-decoration:none;
}
.accordion-toggle:hover,
.accordion-toggle:focus-visible{
    background:#eef6fc;
    border-color:#9ec9f5;
    color:#174d78;
    box-shadow:0 0 0 3px rgba(47,126,188,.12);
}
.health-dot:hover .health-dot-core,
.health-dot:focus-visible .health-dot-core{
    box-shadow:0 0 0 5px rgba(47,126,188,.16), inset 0 1px 2px rgba(255,255,255,.45);
}
.domain-table tbody tr.accordion-main:hover td{
    background:rgba(47,126,188,.035);
}
.service-pill:hover,
.gemonio-pill:hover,
.update-pill:hover,
.au-pill:hover,
.maintenance-badge:hover{
    filter:brightness(.97);
    box-shadow:0 0 0 3px rgba(47,126,188,.08);
}

@media (max-width:782px){
    .domain-table td:nth-child(7),
    .domain-table td:nth-child(8),
    .domain-table td:nth-child(9){
        font-size:10.5px;
    }
    .compact-time{
        font-size:10px !important;
    }
    .wsw-loading-overlay{
        align-items:flex-end;
        padding:12px;
    }
    .wsw-loading-box{
        width:100%;
        min-width:0;
        box-sizing:border-box;
    }
}


/* 1.1.8 column balance refinement */
.site-domain-one-line{
    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.domain-table{
    table-layout:fixed;
}
.domain-table th,
.domain-table td{
    padding-left:6px;
    padding-right:6px;
}
.domain-table th:nth-child(1),
.domain-table td:nth-child(1){width:30px}
.domain-table th:nth-child(2),
.domain-table td:nth-child(2){width:24px;min-width:24px !important}
.domain-table th:nth-child(3),
.domain-table td:nth-child(3){width:88px}
.domain-table th:nth-child(4),
.domain-table td:nth-child(4){width:23%}
.domain-table th:nth-child(5),
.domain-table td:nth-child(5){width:86px}
.domain-table th:nth-child(6),
.domain-table td:nth-child(6){width:94px}
.domain-table th:nth-child(7),
.domain-table td:nth-child(7){width:78px}
.domain-table th:nth-child(8),
.domain-table td:nth-child(8){width:42px}
.domain-table th:nth-child(9),
.domain-table td:nth-child(9){width:54px}
.domain-table th:nth-child(10),
.domain-table td:nth-child(10){width:172px}
.domain-table th:nth-child(11),
.domain-table td:nth-child(11){width:78px}
.domain-table th:nth-child(12),
.domain-table td:nth-child(12){width:42px}

.domain-table td:nth-child(4){
    white-space:nowrap;
}
.domain-table td:nth-child(10){
    overflow:visible;
}
.domain-table td:nth-child(11){
    overflow:visible;
}
.client-version{
    font-size:11px;
    line-height:1;
}
.client-update-mini{
    display:inline-flex;
    align-items:center;
    border-radius:7px;
    padding:2px 4px;
    font-size:9.5px;
    font-weight:850;
    background:#fff3d5;
    color:#835400;
    border:1px solid #e8c66a;
    white-space:nowrap;
}
.update-badges{
    gap:3px;
}
.au-split-group{
    gap:2px;
}
.update-pill,
.au-pill.au-split{
    font-size:10px;
    padding:3px 5px;
}
.au-pill.au-split{
    min-width:22px;
}
.compact-time{
    font-size:10px !important;
    line-height:1.15 !important;
}
.row-actions a{
    padding:3px 5px;
    font-size:11px;
}

/* give the right edge a touch more breathing room */
.domain-table td:last-child,
.domain-table th:last-child{
    padding-right:10px;
}

/* If the viewport gets narrower, allow controlled scroll rather than crushing the last columns */
@media (max-width: 1120px){
    .table-card{
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
    }
    .domain-table{
        min-width:1040px;
    }
}
@media (max-width: 782px){
    .domain-table{
        min-width:940px;
    }
}


/* 1.1.11 safe loading + data backup */
.title-actions{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}
.wsw-loading-overlay{
    position:fixed;
    inset:0;
    z-index:9999;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    padding-top:72px;
    background:rgba(250,252,253,.72);
    backdrop-filter:blur(3px);
}
.wsw-loading-overlay[hidden]{
    display:none;
}
.wsw-loading-box{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:260px;
    max-width:400px;
    padding:14px 18px;
    border-radius:16px;
    background:#fff;
    border:1px solid #d9e3ea;
    box-shadow:0 18px 45px rgba(16,36,46,.16);
    color:#10242e;
}
.wsw-loading-box strong{
    display:block;
    font-size:14px;
    line-height:1.2;
}
.wsw-loading-box small{
    display:block;
    margin-top:2px;
    color:#657684;
    font-size:12px;
}
.wsw-spinner{
    width:22px;
    height:22px;
    border-radius:50%;
    border:3px solid #d8e6ef;
    border-top-color:#2f7ebc;
    animation:wsw-spin .8s linear infinite;
    flex:0 0 auto;
}
@keyframes wsw-spin{
    to{transform:rotate(360deg)}
}
.button,
.toolbar a,
.sort-link,
.row-actions a,
.accordion-toggle,
.health-dot{
    transition:background-color .14s ease, border-color .14s ease, color .14s ease, box-shadow .14s ease, transform .08s ease;
    cursor:pointer;
}
.button:hover,
.button:focus-visible{
    filter:none;
    box-shadow:0 0 0 3px rgba(47,126,188,.16), 0 2px 8px rgba(16,36,46,.10);
    transform:translateY(-1px);
}
.button.secondary:hover,
.button.secondary:focus-visible{
    background:#eef6fc;
    border-color:#9ec9f5;
}
.page-title .button:hover,
.page-title .button:focus-visible{
    background:#123c52;
    color:#fff;
}
.toolbar a:hover,
.toolbar a:focus-visible{
    background:#eef6fc;
    border-color:#9ec9f5;
    color:#174d78;
}
.sort-link:hover,
.sort-link:focus-visible{
    background:#eef6fc;
    border-radius:8px;
    box-shadow:0 0 0 4px #eef6fc;
    text-decoration:none !important;
}
.row-actions a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:8px;
    padding:4px 6px;
}
.row-actions a:hover,
.row-actions a:focus-visible{
    background:#eef6fc;
    color:#174d78;
    text-decoration:none;
}
.accordion-toggle:hover,
.accordion-toggle:focus-visible{
    background:#eef6fc;
    border-color:#9ec9f5;
    color:#174d78;
    box-shadow:0 0 0 3px rgba(47,126,188,.12);
}
.health-dot:hover .health-dot-core,
.health-dot:focus-visible .health-dot-core{
    box-shadow:0 0 0 5px rgba(47,126,188,.16), inset 0 1px 2px rgba(255,255,255,.45);
}
.domain-table tbody tr.accordion-main:hover td{
    background:rgba(47,126,188,.035);
}
@media (max-width:782px){
    .title-actions{
        justify-content:flex-end;
    }
    .wsw-loading-overlay{
        align-items:flex-end;
        padding:12px;
    }
    .wsw-loading-box{
        width:100%;
        min-width:0;
        box-sizing:border-box;
    }
}


/* 1.1.12 stable fast cache */
.title-actions{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}
.title-actions .button.secondary[href*="refresh_status"]{
    background:#e9f5fd;
    border-color:#b8d9ee;
    color:#174d78;
}
.title-actions .button.secondary[href*="refresh_status"]:hover,
.title-actions .button.secondary[href*="refresh_status"]:focus-visible{
    background:#dff0fb;
    border-color:#8fc2e5;
}
.description{
    font-size:13px;
}

/* keep normal links normal: no link loading/intercept */
.button,
.toolbar a,
.sort-link,
.row-actions a,
.accordion-toggle,
.health-dot{
    cursor:pointer;
}


/* 1.1.14 Health dot alignment + pure technical health */
.domain-table td:nth-child(2){
    text-align:center;
    vertical-align:middle !important;
    line-height:1 !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
}
.health-dot{
    appearance:none;
    -webkit-appearance:none;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:20px !important;
    height:20px !important;
    min-width:20px !important;
    min-height:20px !important;
    max-width:20px !important;
    max-height:20px !important;
    padding:0 !important;
    margin:0 auto !important;
    border:0 !important;
    line-height:1 !important;
    font-size:0 !important;
    vertical-align:middle !important;
    position:relative !important;
    top:0 !important;
    transform:none !important;
}
.health-dot-core{
    display:block !important;
    width:14px !important;
    height:14px !important;
    min-width:14px !important;
    min-height:14px !important;
    max-width:14px !important;
    max-height:14px !important;
    flex:0 0 14px !important;
    box-sizing:border-box !important;
    margin:0 !important;
    padding:0 !important;
    position:static !important;
    top:auto !important;
    transform:none !important;
}
.health-dot.ok .health-dot-core,
.health-dot.good .health-dot-core,
.health-dot.notice .health-dot-core,
.health-dot.warn .health-dot-core,
.health-dot.bad .health-dot-core{
    transform:none !important;
}
.health-dot:hover,
.health-dot:focus-visible{
    transform:none !important;
}
.health-dot:hover .health-dot-core,
.health-dot:focus-visible .health-dot-core{
    transform:none !important;
}


/* 1.1.15 Smart Health */
.health-dot.warn .health-dot-core{
    box-shadow:0 0 0 4px rgba(255,136,39,.12);
}
.health-dot.notice .health-dot-core{
    box-shadow:0 0 0 4px rgba(255,205,44,.12);
}


/* 1.1.21 No Click JS Fix */
.wsw-loading-overlay{
    display:none !important;
    pointer-events:none !important;
}
.button,
.toolbar a,
.sort-link,
.row-actions a,
.accordion-toggle,
.health-dot{
    cursor:pointer;
}
.button:hover,
.button:focus-visible{
    filter:none;
    box-shadow:0 0 0 3px rgba(47,126,188,.16), 0 2px 8px rgba(16,36,46,.10);
    transform:translateY(-1px);
}
.button.secondary:hover,
.button.secondary:focus-visible{
    background:#eef6fc;
    border-color:#9ec9f5;
}
.toolbar a:hover,
.toolbar a:focus-visible{
    background:#eef6fc;
    border-color:#9ec9f5;
    color:#174d78;
}
.sort-link:hover,
.sort-link:focus-visible{
    background:#eef6fc;
    border-radius:8px;
    box-shadow:0 0 0 4px #eef6fc;
    text-decoration:none !important;
}
.row-actions a:hover,
.row-actions a:focus-visible{
    background:#eef6fc;
    color:#174d78;
    text-decoration:none;
}
.accordion-toggle:hover,
.accordion-toggle:focus-visible{
    background:#eef6fc;
    border-color:#9ec9f5;
    color:#174d78;
    box-shadow:0 0 0 3px rgba(47,126,188,.12);
}


/* 1.1.22 Gemonio branding + hard click fix */
.brand-title{
    display:flex;
    align-items:center;
    gap:10px;
}
.brand-logo{
    width:30px;
    height:30px;
    object-fit:contain;
    flex:0 0 auto;
    display:inline-block;
}
.wsw-loading-overlay,
[class*="loading-overlay"],
[class*="spinner-overlay"]{
    display:none !important;
    pointer-events:none !important;
    visibility:hidden !important;
}
.page-title,
.title-actions,
.toolbar,
.domain-table,
.table-card,
.row-actions{
    position:relative;
}
.title-actions,
.title-actions a,
.page-title a,
.toolbar a,
.row-actions a,
.sort-link,
.button{
    pointer-events:auto !important;
}
.title-actions{
    z-index:5;
}
.page-title .button,
.title-actions .button{
    position:relative;
    z-index:6;
}
.button,
.toolbar a,
.sort-link,
.row-actions a,
.accordion-toggle{
    cursor:pointer;
    text-decoration:none;
}
.button:hover,
.button:focus-visible,
.toolbar a:hover,
.toolbar a:focus-visible,
.row-actions a:hover,
.row-actions a:focus-visible,
.accordion-toggle:hover,
.accordion-toggle:focus-visible{
    filter:none;
    transform:none;
}


/* 1.1.23: Plus-only details, no row-level click capture */
.domain-table tbody tr,
.domain-table tbody tr.accordion-main,
.domain-table tbody tr.domain-row{
    cursor:default !important;
}
.domain-table tbody tr.accordion-main:hover td{
    background:inherit;
}
.domain-table tbody tr.service-premium:hover td{
    background:inherit;
}
.domain-table tbody tr.service-basic:hover td{
    background:inherit;
}
.domain-table tbody tr.is-selected td,
.domain-table tbody tr:active td{
    outline:none !important;
}
.accordion-toggle,
.accordion-toggle *,
.row-actions a,
.row-actions a *,
.button,
.button *,
.toolbar a,
.toolbar a *,
.sort-link,
.sort-link *{
    pointer-events:auto !important;
}
.accordion-toggle{
    position:relative;
    z-index:10;
    cursor:pointer !important;
}
.page-title,
.title-actions,
.title-actions .button{
    position:relative;
    z-index:20;
}
.domain-table,
.table-card{
    position:relative;
    z-index:1;
}
.row-overlay,
.full-row-link,
.domain-row-link{
    display:none !important;
    pointer-events:none !important;
}


/* 1.2.0 Refresh progress - JS only for Aktualisieren button */
.refresh-progress{
    margin:12px 0 14px;
    padding:12px 14px;
    border:1px solid #cfe0ea;
    border-radius:14px;
    background:#f7fbfe;
    box-shadow:0 8px 18px rgba(16,36,46,.06);
}
.refresh-progress-head{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    margin-bottom:8px;
    color:#10242e;
}
.refresh-progress-head strong{
    font-size:14px;
}
.refresh-progress-count{
    font-size:12px;
    color:#526879;
    white-space:nowrap;
}
.refresh-progress-bar{
    height:9px;
    border-radius:999px;
    overflow:hidden;
    background:#dcebf4;
}
.refresh-progress-bar span{
    display:block;
    height:100%;
    width:0%;
    border-radius:999px;
    background:#2f7ebc;
    transition:width .18s ease;
}
.refresh-progress-current{
    margin-top:8px;
    font-size:12px;
    color:#415464;
}
.refresh-progress-log{
    margin-top:8px;
    min-height:24px;
    max-height:34px;
    overflow-x:auto;
    overflow-y:hidden;
    white-space:nowrap;
    font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size:12px;
    line-height:1.5;
    color:#415464;
    background:#f2f6f8;
    border:1px solid #d8e4ec;
    border-radius:10px;
    padding:6px 8px;
}
.refresh-progress-token{
    display:inline-block;
    margin-right:10px;
    white-space:nowrap;
}
.refresh-progress-token.ok{
    color:#1d6b3a;
}
.refresh-progress-token.bad{
    color:#9c3a1a;
}
.js-refresh-progress.is-working{
    pointer-events:none;
    opacity:.75;
}


/* 1.2.2 Plus accordion fix */
.accordion-detail[hidden]{
    display:none !important;
}
.accordion-toggle{
    pointer-events:auto !important;
    cursor:pointer !important;
    position:relative;
    z-index:12;
}
.domain-table tbody tr.accordion-main{
    cursor:default !important;
}
.domain-table tbody tr.accordion-main.is-open td{
    background:rgba(47,126,188,.035);
}


/* 1.2.3 Edit label cleanup */
.row-actions a{
    text-transform:none;
    letter-spacing:0;
}


/* 1.2.4 Click Target Fix
   Buttons/links must receive the first click; table rows must not sit above controls. */
html,
body{
    pointer-events:auto;
}
.gemonio-click-safe .page-title,
.gemonio-click-safe .title-actions,
.gemonio-click-safe .toolbar{
    position:relative !important;
    z-index:1000 !important;
    isolation:isolate;
}
.gemonio-click-safe .title-actions a,
.gemonio-click-safe .page-title a,
.gemonio-click-safe .toolbar a,
.gemonio-click-safe .button{
    position:relative !important;
    z-index:1001 !important;
    pointer-events:auto !important;
}
.gemonio-click-safe .table-card,
.gemonio-click-safe .domain-table{
    position:relative !important;
    z-index:1 !important;
}
.gemonio-click-safe .domain-table tbody tr,
.gemonio-click-safe .domain-table tbody td{
    position:relative;
    z-index:auto;
}
.gemonio-click-safe .domain-table tbody tr::before,
.gemonio-click-safe .domain-table tbody tr::after,
.gemonio-click-safe .table-card::before,
.gemonio-click-safe .table-card::after,
.gemonio-click-safe .domain-table::before,
.gemonio-click-safe .domain-table::after{
    pointer-events:none !important;
}
.gemonio-click-safe .row-overlay,
.gemonio-click-safe .full-row-link,
.gemonio-click-safe .domain-row-link,
.gemonio-click-safe [class*="overlay"],
.gemonio-click-safe [class*="loading"]{
    pointer-events:none !important;
}
.gemonio-click-safe .accordion-toggle,
.gemonio-click-safe .js-refresh-progress,
.gemonio-click-safe .row-actions a,
.gemonio-click-safe .sort-link{
    pointer-events:auto !important;
    position:relative !important;
    z-index:20 !important;
}

/* Avoid browser first-click text selection/focus feeling on compact controls */
.gemonio-click-safe .button,
.gemonio-click-safe .toolbar a,
.gemonio-click-safe .row-actions a,
.gemonio-click-safe .sort-link,
.gemonio-click-safe .accordion-toggle{
    user-select:none;
    -webkit-user-select:none;
    touch-action:manipulation;
}

/* Keep table rows visually calm; only real controls feel clickable */
.gemonio-click-safe .domain-table tbody tr{
    cursor:default !important;
}
.gemonio-click-safe .button,
.gemonio-click-safe .toolbar a,
.gemonio-click-safe .row-actions a,
.gemonio-click-safe .sort-link,
.gemonio-click-safe .accordion-toggle{
    cursor:pointer !important;
}


/* 1.2.5 EDIT label fix */
.row-actions a::after,
.row-actions .edit::after,
a[href*="view=edit"]::after{
    content:none !important;
    display:none !important;
}
.row-actions a{
    text-transform:none;
    letter-spacing:.02em;
    font-weight:700;
}


/* 1.2.7 Click Boundary Fix
   Header/buttons are protected from table hitboxes. */
.gemonio-click-boundary-fix .page-title,
.gemonio-click-boundary-fix .title-actions,
.gemonio-click-boundary-fix .toolbar,
.gemonio-click-boundary-fix .summary-strip,
.gemonio-click-boundary-fix .filters,
.gemonio-click-boundary-fix .tabs{
    position:relative !important;
    z-index:5000 !important;
    isolation:isolate !important;
}
.gemonio-click-boundary-fix .page-title a,
.gemonio-click-boundary-fix .title-actions a,
.gemonio-click-boundary-fix .toolbar a,
.gemonio-click-boundary-fix .summary-strip a,
.gemonio-click-boundary-fix .filters a,
.gemonio-click-boundary-fix .tabs a,
.gemonio-click-boundary-fix .button{
    position:relative !important;
    z-index:5001 !important;
    pointer-events:auto !important;
}
.gemonio-click-boundary-fix .table-card{
    position:relative !important;
    z-index:1 !important;
    isolation:isolate !important;
}
.gemonio-click-boundary-fix .domain-table{
    position:relative !important;
    z-index:1 !important;
    pointer-events:auto !important;
}
.gemonio-click-boundary-fix .domain-table tbody tr,
.gemonio-click-boundary-fix .domain-table tbody td{
    position:static !important;
    z-index:auto !important;
    cursor:default !important;
    user-select:none;
    -webkit-user-select:none;
}
.gemonio-click-boundary-fix .domain-table tbody tr::before,
.gemonio-click-boundary-fix .domain-table tbody tr::after,
.gemonio-click-boundary-fix .domain-table tbody td::before,
.gemonio-click-boundary-fix .domain-table tbody td::after,
.gemonio-click-boundary-fix .table-card::before,
.gemonio-click-boundary-fix .table-card::after{
    pointer-events:none !important;
}
.gemonio-click-boundary-fix .accordion-toggle,
.gemonio-click-boundary-fix .row-actions a,
.gemonio-click-boundary-fix .sort-link,
.gemonio-click-boundary-fix .health-dot,
.gemonio-click-boundary-fix .js-refresh-progress{
    position:relative !important;
    z-index:50 !important;
    pointer-events:auto !important;
    user-select:none;
    -webkit-user-select:none;
    touch-action:manipulation;
}
.gemonio-click-boundary-fix .row-actions a::after,
.gemonio-click-boundary-fix a[href*="view=edit"]::after{
    content:none !important;
    display:none !important;
}
.gemonio-click-boundary-fix .button,
.gemonio-click-boundary-fix .toolbar a,
.gemonio-click-boundary-fix .row-actions a,
.gemonio-click-boundary-fix .sort-link,
.gemonio-click-boundary-fix .accordion-toggle{
    cursor:pointer !important;
}
.gemonio-click-boundary-fix .wsw-loading-overlay,
.gemonio-click-boundary-fix [class*="overlay"],
.gemonio-click-boundary-fix [class*="row-link"],
.gemonio-click-boundary-fix [class*="full-row"]{
    pointer-events:none !important;
}


/* 1.3.0 Critical Plugins */
.updates-ratio{display:inline-flex;align-items:baseline;gap:2px;font-weight:800;white-space:nowrap;margin-right:4px;}
.updates-critical{color:#b42318;background:#fee4e2;border:1px solid #fecdca;border-radius:999px;padding:1px 6px;line-height:1.35;}
.updates-critical-zero{color:#667085;}
.updates-sep{color:#98a2b3;padding:0 1px;}
.updates-total{color:#344054;}
.updates-none{color:#98a2b3;font-weight:700;margin-right:4px;}
.critical-summary strong{color:#b42318;}
.critical-plugins-table td:first-child{width:120px;}
.critical-check{display:inline-flex;align-items:center;gap:6px;font-weight:700;}
.critical-plugin-update{background:#fee4e2;color:#912018;border-radius:8px;padding:4px 6px;}
.critical-plugin-update code{color:#912018;}
.critical-mini{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;background:#b42318;color:#fff;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;}


/* 1.3.1 Critical Plugins UI polish */
.critical-page-title{
    align-items:flex-start;
    margin-bottom:18px;
}
.critical-summary{
    display:grid;
    grid-template-columns: minmax(150px, 190px) minmax(150px, 190px) 1fr;
    gap:12px;
    margin:0 0 18px;
}
.critical-summary-card{
    background:#ffffff;
    border:1px solid rgba(15, 23, 42, .08);
    border-radius:18px;
    padding:14px 16px;
    box-shadow:0 10px 30px rgba(15, 23, 42, .04);
}
.critical-summary-card .summary-number{
    display:block;
    font-size:26px;
    line-height:1;
    font-weight:800;
    color:#18384a;
}
.critical-summary-card .summary-label{
    display:block;
    margin-top:4px;
    color:#64748b;
    font-size:13px;
    font-weight:700;
}
.critical-summary-card.danger .summary-number{
    color:#b42318;
}
.critical-summary-hint{
    border:1px solid rgba(15, 23, 42, .08);
    background:#f8fafc;
    color:#52616d;
    border-radius:18px;
    padding:14px 16px;
    font-size:14px;
    line-height:1.45;
}
.critical-plugin-list{
    display:grid;
    gap:8px;
    margin-bottom:86px;
}
.critical-plugin-card{
    display:grid;
    grid-template-columns: 112px minmax(260px, 420px) minmax(280px, 1fr);
    gap:16px;
    align-items:center;
    background:#fff;
    border:1px solid rgba(15, 23, 42, .075);
    border-radius:16px;
    padding:12px 14px;
    box-shadow:0 8px 24px rgba(15,23,42,.035);
    cursor:pointer;
    transition:background .15s ease, border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.critical-plugin-card:hover{
    border-color:rgba(24,56,74,.22);
    box-shadow:0 12px 30px rgba(15,23,42,.06);
    transform:translateY(-1px);
}
.critical-plugin-card.is-critical{
    background:#fff7f6;
    border-color:#fecdca;
}
.critical-plugin-check{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    font-weight:800;
    color:#475467;
    white-space:nowrap;
}
.critical-plugin-check input{
    width:18px;
    height:18px;
    margin:0;
    accent-color:#b42318;
}
.critical-plugin-card.is-critical .critical-plugin-check{
    color:#b42318;
}
.critical-plugin-main{
    min-width:0;
}
.critical-plugin-name{
    display:block;
    color:#182b38;
    font-weight:800;
    font-size:15px;
    line-height:1.25;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.critical-plugin-slug{
    display:inline-block;
    max-width:100%;
    margin-top:5px;
    padding:3px 7px;
    border-radius:8px;
    background:#eef3f6;
    color:#52616d;
    font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size:12px;
    line-height:1.25;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    vertical-align:bottom;
}
.critical-plugin-sites{
    min-width:0;
}
.critical-plugin-site-count{
    display:inline-flex;
    align-items:center;
    padding:3px 8px;
    border-radius:999px;
    background:#ecfdf3;
    border:1px solid #abefc6;
    color:#067647;
    font-size:12px;
    font-weight:800;
    margin-bottom:5px;
}
.critical-plugin-site-list{
    display:block;
    color:#667085;
    font-size:13px;
    line-height:1.35;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.critical-sticky-actions{
    position:sticky;
    bottom:0;
    display:flex;
    gap:10px;
    align-items:center;
    justify-content:flex-end;
    padding:14px 0 0;
    margin-top:18px;
    background:linear-gradient(to top, #f6f8fb 72%, rgba(246,248,251,0));
    z-index:100;
}
.empty-state{
    padding:22px;
    color:#667085;
}
@media (max-width: 1100px){
    .critical-summary{
        grid-template-columns:1fr 1fr;
    }
    .critical-summary-hint{
        grid-column:1 / -1;
    }
    .critical-plugin-card{
        grid-template-columns: 112px minmax(220px, 1fr);
    }
    .critical-plugin-sites{
        grid-column:2;
    }
}
@media (max-width: 720px){
    .critical-summary{
        grid-template-columns:1fr;
    }
    .critical-plugin-card{
        grid-template-columns:1fr;
        gap:8px;
    }
    .critical-plugin-sites{
        grid-column:auto;
    }
    .critical-sticky-actions{
        justify-content:stretch;
    }
    .critical-sticky-actions .button{
        flex:1;
        text-align:center;
    }
}


/* 1.3.2 Critical Plugins: compact checklist in dashboard style */
.critical-summary.compact{
    grid-template-columns: minmax(130px, 170px) minmax(130px, 170px) minmax(130px, 170px) 1fr;
}
.critical-summary-card.suggestion .summary-number{
    color:#b54708;
}
.critical-plugin-checkgrid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:8px 12px;
    margin:10px 0 86px;
}
.critical-plugin-item{
    position:relative;
    display:grid;
    grid-template-columns:18px minmax(0, 1fr) auto;
    align-items:center;
    gap:8px;
    min-height:38px;
    padding:9px 10px;
    border:1px solid rgba(15,23,42,.075);
    border-radius:12px;
    background:#fff;
    box-shadow:0 6px 18px rgba(15,23,42,.025);
    cursor:pointer;
    user-select:none;
    -webkit-user-select:none;
}
.critical-plugin-item:hover{
    border-color:rgba(24,56,74,.22);
    box-shadow:0 10px 24px rgba(15,23,42,.055);
}
.critical-plugin-item input{
    width:17px;
    height:17px;
    margin:0;
    accent-color:#b42318;
}
.critical-plugin-item.is-critical{
    background:#fff7f6;
    border-color:#fecdca;
}
.critical-plugin-item.is-suggested:not(.is-critical){
    background:#fffcf5;
    border-color:#fedf89;
}
.critical-plugin-item-name{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#182b38;
    font-size:14px;
    font-weight:760;
    line-height:1.25;
}
.critical-plugin-item-count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:22px;
    height:22px;
    padding:0 6px;
    border-radius:999px;
    background:#eef3f6;
    color:#52616d;
    font-size:12px;
    font-weight:800;
}
.critical-plugin-item.is-critical .critical-plugin-item-count{
    background:#fee4e2;
    color:#b42318;
}
.critical-plugin-suggested{
    grid-column:2 / -1;
    justify-self:start;
    margin-top:-3px;
    padding:2px 7px;
    border-radius:999px;
    background:#fffaeb;
    border:1px solid #fedf89;
    color:#b54708;
    font-size:11px;
    font-weight:800;
}
.critical-plugin-tooltip{
    display:none;
    position:absolute;
    left:16px;
    top:calc(100% + 8px);
    z-index:9999;
    width:min(420px, 80vw);
    padding:12px 13px;
    border-radius:14px;
    background:#102a3a;
    color:#fff;
    box-shadow:0 18px 40px rgba(15,23,42,.28);
    font-size:13px;
    line-height:1.35;
    pointer-events:none;
}
.critical-plugin-tooltip::before{
    content:"";
    position:absolute;
    top:-6px;
    left:18px;
    width:12px;
    height:12px;
    background:#102a3a;
    transform:rotate(45deg);
}
.critical-plugin-item:hover .critical-plugin-tooltip{
    display:block;
}
.critical-plugin-tooltip strong{
    display:block;
    margin-bottom:6px;
}
.critical-plugin-tooltip ul{
    margin:0;
    padding:0 0 0 16px;
    max-height:190px;
    overflow:hidden;
}
.critical-plugin-tooltip li{
    margin:0 0 3px;
}
.critical-plugin-tooltip small{
    display:block;
    margin-top:8px;
    color:#b9c6cf;
    font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    word-break:break-word;
}
@media (max-width: 1200px){
    .critical-summary.compact{
        grid-template-columns:1fr 1fr 1fr;
    }
    .critical-summary.compact .critical-summary-hint{
        grid-column:1 / -1;
    }
    .critical-plugin-checkgrid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 760px){
    .critical-summary.compact,
    .critical-plugin-checkgrid{
        grid-template-columns:1fr;
    }
}


/* 1.3.6 Critical Plugins action buttons */
.critical-sticky-actions{
    align-items:stretch !important;
}
.critical-sticky-actions .button,
.critical-sticky-actions button.button,
.critical-sticky-actions a.button{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:42px !important;
    box-sizing:border-box !important;
    line-height:1.1 !important;
    margin:0 !important;
}
.button.danger,
button.button.danger{
    background:#b42318 !important;
    border-color:#b42318 !important;
    color:#fff !important;
}
.button.danger:hover,
button.button.danger:hover{
    background:#912018 !important;
    border-color:#912018 !important;
    color:#fff !important;
}


/* 1.3.7 Empty Save & Stability Fix */
.critical-sticky-actions .button,
.critical-sticky-actions button.button,
.critical-sticky-actions a.button{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:42px !important;
    box-sizing:border-box !important;
    line-height:1.1 !important;
}


/* 1.3.8 Dashboard / Critical Actions UI */
.title-actions,
.toolbar-actions,
.dashboard-actions,
.page-title .title-actions{
    display:flex !important;
    align-items:stretch !important;
    gap:8px !important;
    flex-wrap:wrap;
}
.title-actions .button,
.toolbar-actions .button,
.dashboard-actions .button,
.page-title .title-actions .button,
.title-actions button.button,
.toolbar-actions button.button,
.dashboard-actions button.button{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:42px !important;
    height:42px !important;
    box-sizing:border-box !important;
    line-height:1.1 !important;
    margin:0 !important;
    white-space:nowrap !important;
}
.button.danger,
a.button.danger,
button.button.danger{
    background:#b42318 !important;
    border-color:#b42318 !important;
    color:#fff !important;
}
.button.danger:hover,
a.button.danger:hover,
button.button.danger:hover{
    background:#912018 !important;
    border-color:#912018 !important;
    color:#fff !important;
}
.button.success,
a.button.success,
button.button.success{
    background:#067647 !important;
    border-color:#067647 !important;
    color:#fff !important;
}
.button.success:hover,
a.button.success:hover,
button.button.success:hover{
    background:#05603a !important;
    border-color:#05603a !important;
    color:#fff !important;
}
.critical-actions{
    display:flex !important;
    align-items:stretch !important;
    justify-content:flex-end;
    gap:10px;
}
.critical-actions-top{
    margin:14px 0 16px;
    padding:0;
}
.critical-actions .button,
.critical-actions button.button,
.critical-actions a.button{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:42px !important;
    height:42px !important;
    box-sizing:border-box !important;
    line-height:1.1 !important;
    margin:0 !important;
    white-space:nowrap !important;
}
.cache-hint-small{
    margin:2px 0 8px !important;
    font-size:11px !important;
    line-height:1.25 !important;
    color:#98a2b3 !important;
}
@media (max-width:760px){
    .title-actions,
    .toolbar-actions,
    .dashboard-actions,
    .page-title .title-actions,
    .critical-actions{
        justify-content:stretch;
    }
    .title-actions .button,
    .toolbar-actions .button,
    .dashboard-actions .button,
    .page-title .title-actions .button,
    .critical-actions .button{
        flex:1 1 auto;
    }
}


/* 1.3.9 Button Color Fix - robust semantic button colors */
.gemonio-button-color-fix a.button.button-critical,
.gemonio-button-color-fix .button.button-critical,
.gemonio-button-color-fix a[href="?view=critical_plugins"],
.gemonio-button-color-fix a[href*="view=critical_plugins"]{
    background:#b42318 !important;
    border-color:#b42318 !important;
    color:#ffffff !important;
    box-shadow:none !important;
}
.gemonio-button-color-fix a.button.button-critical:hover,
.gemonio-button-color-fix .button.button-critical:hover,
.gemonio-button-color-fix a[href="?view=critical_plugins"]:hover,
.gemonio-button-color-fix a[href*="view=critical_plugins"]:hover{
    background:#912018 !important;
    border-color:#912018 !important;
    color:#ffffff !important;
}


/* 1.5.18 Theme button + terminal refresh log */
.gemonio-button-color-fix a.button.button-themes,
.gemonio-button-color-fix .button.button-themes,
.gemonio-button-color-fix a[href="?view=theme_overview"],
.gemonio-button-color-fix a[href*="view=theme_overview"]{
    background:#2f6f73 !important;
    border-color:#2f6f73 !important;
    color:#ffffff !important;
    box-shadow:none !important;
}
.gemonio-button-color-fix a.button.button-themes:hover,
.gemonio-button-color-fix .button.button-themes:hover,
.gemonio-button-color-fix a[href="?view=theme_overview"]:hover,
.gemonio-button-color-fix a[href*="view=theme_overview"]:hover{
    background:#24585b !important;
    border-color:#24585b !important;
    color:#ffffff !important;
}

.gemonio-button-color-fix a.button.button-backup,
.gemonio-button-color-fix .button.button-backup,
.gemonio-button-color-fix a[href="?action=backup_data"],
.gemonio-button-color-fix a[href*="action=backup_data"]{
    background:#067647 !important;
    border-color:#067647 !important;
    color:#ffffff !important;
    box-shadow:none !important;
}
.gemonio-button-color-fix a.button.button-backup:hover,
.gemonio-button-color-fix .button.button-backup:hover,
.gemonio-button-color-fix a[href="?action=backup_data"]:hover,
.gemonio-button-color-fix a[href*="action=backup_data"]:hover{
    background:#05603a !important;
    border-color:#05603a !important;
    color:#ffffff !important;
}

.gemonio-button-color-fix button.button.button-uncheck,
.gemonio-button-color-fix .button.button-uncheck,
.gemonio-button-color-fix .js-uncheck-critical{
    background:#b42318 !important;
    border-color:#b42318 !important;
    color:#ffffff !important;
    box-shadow:none !important;
}
.gemonio-button-color-fix button.button.button-uncheck:hover,
.gemonio-button-color-fix .button.button-uncheck:hover,
.gemonio-button-color-fix .js-uncheck-critical:hover{
    background:#912018 !important;
    border-color:#912018 !important;
    color:#ffffff !important;
}

/* keep dashboard action buttons aligned without click overlays */
.gemonio-button-color-fix .title-actions .button,
.gemonio-button-color-fix .toolbar .button,
.gemonio-button-color-fix .page-title .button{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:42px !important;
    height:42px !important;
    box-sizing:border-box !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
}


/* 1.4.0 UpdraftPlus backup status + Updates column alignment */
.updates-head,
.updates-cell{
    text-align:right !important;
    white-space:nowrap !important;
    min-width:76px;
    max-width:96px;
}
.updates-cell .update-badges{
    display:flex !important;
    align-items:center;
    justify-content:flex-end !important;
    gap:4px;
    max-width:100%;
    overflow:hidden;
}
.updates-ratio{
    justify-content:flex-end !important;
    text-align:right !important;
    margin-left:auto !important;
    flex:0 0 auto;
}
.updates-critical,
.updates-total,
.updates-critical-zero,
.updates-none{
    white-space:nowrap !important;
}
.col-backup,
.backup-cell{
    width:64px;
    text-align:center !important;
    white-space:nowrap !important;
}
.backup-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:38px;
    min-height:24px;
    padding:2px 8px;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
    line-height:1;
}
.backup-old{color:#b42318;background:#fee4e2;border:1px solid #fecdca;}
.backup-ok{color:#067647;background:#ecfdf3;border:1px solid #abefc6;}
.backup-unknown{color:#b54708;background:#fffaeb;border:1px solid #fedf89;}
.backup-none{color:#98a2b3;background:#f2f4f7;border:1px solid #eaecf0;}
.last-seen-head,
.last-seen-cell{
    white-space:nowrap !important;
    width:88px;
    max-width:96px;
    font-size:12px;
    padding-left:6px !important;
    padding-right:6px !important;
}
.row-actions,
td.row-actions{
    white-space:nowrap !important;
    width:54px;
    padding-left:6px !important;
}
.backup-detail-box{
    margin:10px 0 12px;
    padding:10px 12px;
    border-radius:12px;
    font-size:14px;
}
.backup-detail-old{color:#912018;background:#fee4e2;border:1px solid #fecdca;}
.backup-detail-ok{color:#067647;background:#ecfdf3;border:1px solid #abefc6;}
.backup-detail-unknown{color:#b54708;background:#fffaeb;border:1px solid #fedf89;}


/* 1.4.3 Dashboard Layout Refinement */
.domain-table th:nth-child(3),
.domain-table td:nth-child(3){
    min-width:128px;
    max-width:150px;
}
.status-pill,
.status-label,
td:nth-child(3) .badge,
td:nth-child(3) span{
    white-space:nowrap !important;
}
.client-cell{
    min-width:72px;
    white-space:nowrap !important;
}
.client-version{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:25px;
    padding:2px 7px;
    border-radius:999px;
    font-weight:800;
    line-height:1;
}
.client-current{
    color:#067647;
    background:#ecfdf3;
    border:1px solid #abefc6;
}
.client-old{
    color:#344054;
    background:transparent;
    border:1px solid transparent;
    padding-left:0;
}
.client-update-mini{
    display:none !important;
}
.updates-head,
.updates-cell{
    text-align:right !important;
    white-space:nowrap !important;
    min-width:178px !important;
    max-width:none !important;
    overflow:visible !important;
}
.updates-cell .update-badges{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:4px !important;
    flex-wrap:nowrap !important;
    overflow:visible !important;
    max-width:none !important;
}
.updates-cell .update-badges > *{
    flex:0 0 auto !important;
}
.col-backup,
.backup-cell{
    width:68px;
    min-width:68px;
    text-align:center !important;
    white-space:nowrap !important;
}
.row-actions,
td.row-actions{
    width:74px !important;
    min-width:74px !important;
    text-align:right !important;
    padding-right:18px !important;
    white-space:nowrap !important;
}
.row-actions a{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:46px;
}
.cache-hint-small{
    margin-top:2px !important;
    font-size:12px !important;
    color:#98a2b3 !important;
}


/* 1.4.4 Dashboard Cosmetic Balance */
.domain-table th:nth-child(3),
.domain-table td:nth-child(3){
    min-width:142px !important;
    max-width:168px !important;
    width:150px !important;
    white-space:nowrap !important;
}
.domain-table td:nth-child(3) .status-pill,
.domain-table td:nth-child(3) .status-label,
.domain-table td:nth-child(3) .badge,
.domain-table td:nth-child(3) span{
    white-space:nowrap !important;
}

/* Status field: white text on brown background, matching the site-count colour mood */
.domain-table td:nth-child(3) .status-pill,
.domain-table td:nth-child(3) .status-label,
.domain-table td:nth-child(3) .badge,
.domain-table td:nth-child(3) span:not(.health-dot):not(.small){
    background:#8a572b !important;
    border-color:#8a572b !important;
    color:#ffffff !important;
    box-shadow:none !important;
}
.domain-table td:nth-child(3) .status-pill * ,
.domain-table td:nth-child(3) .status-label * ,
.domain-table td:nth-child(3) .badge *{
    color:#ffffff !important;
}

/* Client column: current stays calm green, older versions look neutral/grey like "fehlt" */
.client-current{
    color:#067647 !important;
    background:#ecfdf3 !important;
    border:1px solid #abefc6 !important;
}
.client-old{
    color:#667085 !important;
    background:#f2f4f7 !important;
    border:1px solid #d0d5dd !important;
    padding:2px 7px !important;
    border-radius:999px !important;
}

/* Re-balance WP/PHP so they don't drift too far right */
.domain-table th:nth-child(8),
.domain-table td:nth-child(8),
.domain-table th:nth-child(9),
.domain-table td:nth-child(9){
    text-align:left !important;
    min-width:52px !important;
    width:58px !important;
    padding-left:8px !important;
    padding-right:8px !important;
}

/* Updates still visible, but don't push everything too aggressively */
.updates-head,
.updates-cell{
    min-width:160px !important;
    width:168px !important;
    max-width:180px !important;
}

/* EDIT less extreme: still clear, but visually back inside the table */
.row-actions,
td.row-actions{
    width:62px !important;
    min-width:62px !important;
    text-align:left !important;
    padding-left:10px !important;
    padding-right:10px !important;
}
.row-actions a{
    min-width:42px !important;
    justify-content:flex-start !important;
}


/* 1.4.5 WP/PHP/EDIT Balance
   Updates column intentionally remains like 1.4.4. */
.wp-head,
.wp-cell,
.php-head,
.php-cell{
    width:50px !important;
    min-width:48px !important;
    max-width:54px !important;
    text-align:center !important;
    padding-left:4px !important;
    padding-right:4px !important;
    white-space:nowrap !important;
}
.wp-cell,
.php-cell{
    font-size:13px !important;
}
.row-actions,
td.row-actions{
    width:58px !important;
    min-width:56px !important;
    max-width:64px !important;
    text-align:left !important;
    padding-left:8px !important;
    padding-right:8px !important;
    white-space:nowrap !important;
}
.row-actions a{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    min-width:42px !important;
}


/* 1.4.6 Updates Header Alignment Fix
   Undo old right alignment only for the Updates column title. */
.updates-head{
    text-align:left !important;
}
.updates-head .sort-link,
.updates-head a{
    justify-content:flex-start !important;
    text-align:left !important;
}


/* 1.4.9 Safe Layout Rollback
   Roll back destructive fixed colgroup layout. Keep the calm earlier dashboard rhythm. */
.domain-table{
    table-layout:auto !important;
    width:100% !important;
    min-width:0 !important;
}
.stable-dashboard-table,
.stable-dashboard-table *{
    table-layout:auto !important;
}
.domain-table colgroup{
    display:none !important;
}

/* Leave left half alone; only keep right side from clipping. */
.domain-table .wp-head,
.domain-table .wp-cell,
.domain-table .php-head,
.domain-table .php-cell{
    text-align:center !important;
    white-space:nowrap !important;
    padding-left:5px !important;
    padding-right:5px !important;
}
.domain-table .updates-head{
    text-align:left !important;
}
.domain-table .updates-cell{
    white-space:nowrap !important;
    overflow:visible !important;
}
.domain-table .updates-cell .update-badges{
    display:inline-flex !important;
    align-items:center !important;
    gap:4px !important;
    flex-wrap:nowrap !important;
    overflow:visible !important;
    max-width:none !important;
}
.domain-table .updates-cell .update-badges > *{
    flex:0 0 auto !important;
}
.domain-table td.row-actions,
.domain-table .row-actions{
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
    padding-right:8px !important;
}
.domain-table td.row-actions a,
.domain-table .row-actions a,
.domain-table a[href*="view=edit"]{
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
}
.domain-table td.row-actions a::after,
.domain-table .row-actions a::after,
.domain-table a[href*="view=edit"]::after{
    content:none !important;
    display:none !important;
}
.summary-box.critical-summary span{
    display:block;
    margin-top:3px;
    font-size:12px;
    color:#667085;
    white-space:nowrap;
}


/* 1.4.10 Status → Website Gap Tighten
   Minimal CSS-only layout correction:
   reduce Status/Website gap by approx. 30px so Backup gets a little more breathing room.
   No colgroup. No JS. No logic changes. */
.domain-table th:nth-child(3),
.domain-table td:nth-child(3){
    width:118px !important;
    min-width:118px !important;
    max-width:128px !important;
    padding-right:6px !important;
}
.domain-table th:nth-child(4),
.domain-table td:nth-child(4){
    padding-left:6px !important;
}
.domain-table td:nth-child(3) .status-pill,
.domain-table td:nth-child(3) .status-label,
.domain-table td:nth-child(3) .badge,
.domain-table td:nth-child(3) span:not(.health-dot):not(.small){
    max-width:112px !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}
.backup-cell,
.col-backup{
    padding-left:8px !important;
    padding-right:8px !important;
}


/* 1.4.11 Spacing + Plain Ratio Fix
   Minimal CSS-only correction. No colgroup, no JS, no logic changes. */

/* Reduce Client -> WP and WP -> PHP spacing. */
.domain-table th:nth-child(8),
.domain-table td:nth-child(8){
    padding-left:2px !important;
    padding-right:2px !important;
    width:44px !important;
    min-width:44px !important;
    max-width:48px !important;
    text-align:center !important;
    white-space:nowrap !important;
}
.domain-table th:nth-child(9),
.domain-table td:nth-child(9){
    padding-left:2px !important;
    padding-right:2px !important;
    width:44px !important;
    min-width:44px !important;
    max-width:48px !important;
    text-align:center !important;
    white-space:nowrap !important;
}

/* Plain update ratio: 1/1, 0/0, etc. No circle, no badge, no visual circus. */
.domain-table .updates-ratio,
.domain-table .updates-critical,
.domain-table .updates-total,
.domain-table .updates-critical-zero,
.domain-table .updates-none{
    display:inline !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    min-width:0 !important;
    width:auto !important;
    height:auto !important;
    line-height:1.2 !important;
    padding:0 !important;
    margin:0 !important;
    font-size:13px !important;
    font-weight:400 !important;
    color:#101828 !important;
    text-align:left !important;
    vertical-align:baseline !important;
}
/* First digit before the slash: red only when critical/manual count is greater than 0.
   PHP uses .updates-critical only for values > 0; zero stays .updates-critical-zero. */
.domain-table .updates-critical{
    color:#b42318 !important;
}
.domain-table .updates-ratio.is-critical,
.domain-table .updates-critical.is-critical,
.domain-table .updates-ratio.has-critical{
    color:#b42318 !important;
}
.domain-table .updates-cell .update-badges{
    gap:6px !important;
    align-items:center !important;
}


/* 1.4.13 Reference status typography: status bar/badges stay calm, not bold. */
.domain-table td:nth-child(3) .status-pill,
.domain-table td:nth-child(3) .status-label,
.domain-table td:nth-child(3) .badge,
.domain-table td:nth-child(3) span:not(.health-dot):not(.small),
.domain-table td:nth-child(3) .status-pill *,
.domain-table td:nth-child(3) .status-label *,
.domain-table td:nth-child(3) .badge *{
    font-weight:400 !important;
}


/* 1.4.14 Table mono font trial: only dashboard/domain table typography. No logic or spacing changes. */
.domain-table,
.domain-table th,
.domain-table td,
.domain-table .badge,
.domain-table .status-pill,
.domain-table .status-label,
.domain-table .service-pill,
.domain-table .small,
.domain-table .muted.small,
.domain-table .updates-ratio,
.domain-table .updates-critical,
.domain-table .updates-total,
.domain-table .updates-critical-zero,
.domain-table .updates-none,
.domain-table .row-actions a{
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace !important;
}
.domain-table{
    font-variant-numeric:tabular-nums;
}

/* 1.4.15 Mono client column space trim
   Keep Updates untouched. Use spare room in Client column so PHP versions can breathe. */
.domain-table th:nth-child(7),
.domain-table td:nth-child(7){
    width:64px !important;
    min-width:60px !important;
    max-width:68px !important;
    padding-left:4px !important;
    padding-right:2px !important;
    white-space:nowrap !important;
}
.domain-table .client-cell{
    min-width:0 !important;
    padding-right:2px !important;
}
.domain-table .client-version{
    padding-left:5px !important;
    padding-right:5px !important;
}
.domain-table th:nth-child(9),
.domain-table td:nth-child(9){
    width:60px !important;
    min-width:58px !important;
    max-width:64px !important;
}


/* 1.4.16 Status colour bars + matching health dots
   Display-only refinement: status badge follows the health-dot colour. No logic changes. */
.domain-table td:nth-child(3) .badge.status-health-bad{
    background:#b42318 !important;
    border-color:#b42318 !important;
    color:#ffffff !important;
}
.domain-table td:nth-child(3) .badge.status-health-warn{
    background:#c2410c !important;
    border-color:#c2410c !important;
    color:#ffffff !important;
}
.domain-table td:nth-child(3) .badge.status-health-notice{
    background:#facc15 !important;
    border-color:#facc15 !important;
    color:#1f2937 !important;
}
.domain-table td:nth-child(3) .badge.status-health-ok{
    background:#15803d !important;
    border-color:#15803d !important;
    color:#ffffff !important;
}
.domain-table td:nth-child(3) .badge.status-health-bad *,
.domain-table td:nth-child(3) .badge.status-health-warn *,
.domain-table td:nth-child(3) .badge.status-health-ok *{
    color:#ffffff !important;
}
.domain-table td:nth-child(3) .badge.status-health-notice *{
    color:#1f2937 !important;
}
.health-dot.bad .health-dot-core{
    background:#b42318 !important;
    box-shadow:0 0 0 4px rgba(180,35,24,.12), inset 0 1px 2px rgba(255,255,255,.35) !important;
}
.health-dot.warn .health-dot-core{
    background:#c2410c !important;
    box-shadow:0 0 0 4px rgba(194,65,12,.13), inset 0 1px 2px rgba(255,255,255,.35) !important;
}
.health-dot.notice .health-dot-core{
    background:#facc15 !important;
    box-shadow:0 0 0 4px rgba(250,204,21,.18), inset 0 1px 2px rgba(255,255,255,.45) !important;
}
.health-dot.ok .health-dot-core{
    background:#15803d !important;
    box-shadow:0 0 0 4px rgba(21,128,61,.12), inset 0 1px 2px rgba(255,255,255,.35) !important;
}


/* 1.4.17 Status colour specificity + precise dots
   Fix: old brown status fallback had equal/higher specificity. Keep colours authoritative.
   Dots: no ring, no glow, no inset border. Pure precise colour circles. */
.domain-table td:nth-child(3) span.badge.status-health-bad:not(.health-dot):not(.small),
.domain-table td:nth-child(3) .status-pill.status-health-bad:not(.health-dot):not(.small),
.domain-table td:nth-child(3) .status-label.status-health-bad:not(.health-dot):not(.small){
    background:#b42318 !important;
    border-color:#b42318 !important;
    color:#ffffff !important;
    box-shadow:none !important;
}
.domain-table td:nth-child(3) span.badge.status-health-warn:not(.health-dot):not(.small),
.domain-table td:nth-child(3) .status-pill.status-health-warn:not(.health-dot):not(.small),
.domain-table td:nth-child(3) .status-label.status-health-warn:not(.health-dot):not(.small){
    background:#c2410c !important;
    border-color:#c2410c !important;
    color:#ffffff !important;
    box-shadow:none !important;
}
.domain-table td:nth-child(3) span.badge.status-health-notice:not(.health-dot):not(.small),
.domain-table td:nth-child(3) .status-pill.status-health-notice:not(.health-dot):not(.small),
.domain-table td:nth-child(3) .status-label.status-health-notice:not(.health-dot):not(.small){
    background:#facc15 !important;
    border-color:#facc15 !important;
    color:#1f2937 !important;
    box-shadow:none !important;
}
.domain-table td:nth-child(3) span.badge.status-health-ok:not(.health-dot):not(.small),
.domain-table td:nth-child(3) .status-pill.status-health-ok:not(.health-dot):not(.small),
.domain-table td:nth-child(3) .status-label.status-health-ok:not(.health-dot):not(.small){
    background:#15803d !important;
    border-color:#15803d !important;
    color:#ffffff !important;
    box-shadow:none !important;
}
.domain-table td:nth-child(3) span.badge.status-health-bad:not(.health-dot):not(.small) *,
.domain-table td:nth-child(3) span.badge.status-health-warn:not(.health-dot):not(.small) *,
.domain-table td:nth-child(3) span.badge.status-health-ok:not(.health-dot):not(.small) *{
    color:#ffffff !important;
}
.domain-table td:nth-child(3) span.badge.status-health-notice:not(.health-dot):not(.small) *{
    color:#1f2937 !important;
}
.health-dot,
.health-dot:hover,
.health-dot:focus,
.health-dot:focus-visible{
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}
.health-dot-core,
.health-dot:hover .health-dot-core,
.health-dot:focus .health-dot-core,
.health-dot:focus-visible .health-dot-core,
.health-dot.ok .health-dot-core,
.health-dot.good .health-dot-core,
.health-dot.notice .health-dot-core,
.health-dot.warn .health-dot-core,
.health-dot.bad .health-dot-core{
    border:0 !important;
    box-shadow:none !important;
    outline:0 !important;
    border-radius:999px !important;
}
.health-dot.bad .health-dot-core{background:#b42318 !important;}
.health-dot.warn .health-dot-core{background:#c2410c !important;}
.health-dot.notice .health-dot-core{background:#facc15 !important;}
.health-dot.ok .health-dot-core{background:#15803d !important;}

/* 1.4.18 Status yellow lighter
   Visual-only refinement: make the yellow/notice state lighter for status bar and dot. */
.domain-table td:nth-child(3) span.badge.status-health-notice:not(.health-dot):not(.small),
.domain-table td:nth-child(3) .status-pill.status-health-notice:not(.health-dot):not(.small),
.domain-table td:nth-child(3) .status-label.status-health-notice:not(.health-dot):not(.small),
.domain-table td:nth-child(3) .badge.status-health-notice{
    background:#fde047 !important;
    border-color:#fde047 !important;
    color:#1f2937 !important;
    box-shadow:none !important;
}
.domain-table td:nth-child(3) span.badge.status-health-notice:not(.health-dot):not(.small) *,
.domain-table td:nth-child(3) .badge.status-health-notice *{
    color:#1f2937 !important;
}
.health-dot.notice .health-dot-core{
    background:#fde047 !important;
}

.preline{white-space:pre-line;}


/* 1.4.27 Health 5-colour scale trial
   Add light green as a softer healthy step between dark green and yellow. */
.domain-table td:nth-child(3) span.badge.status-health-good:not(.health-dot):not(.small),
.domain-table td:nth-child(3) .status-pill.status-health-good:not(.health-dot):not(.small),
.domain-table td:nth-child(3) .status-label.status-health-good:not(.health-dot):not(.small),
.domain-table td:nth-child(3) .badge.status-health-good{
    background:#86efac !important;
    border-color:#86efac !important;
    color:#14532d !important;
    box-shadow:none !important;
}
.domain-table td:nth-child(3) span.badge.status-health-good:not(.health-dot):not(.small) *,
.domain-table td:nth-child(3) .badge.status-health-good *{
    color:#14532d !important;
}
.health-dot.good .health-dot-core{
    background:#86efac !important;
}

/* 1.4.28 Health 5-colour scale visibility fix
   Make the new light-green state reachable and visually distinct. */
.domain-table td:nth-child(3) span.badge.status-health-good:not(.health-dot):not(.small),
.domain-table td:nth-child(3) .status-pill.status-health-good:not(.health-dot):not(.small),
.domain-table td:nth-child(3) .status-label.status-health-good:not(.health-dot):not(.small),
.domain-table td:nth-child(3) .badge.status-health-good{
    background:#bbf7d0 !important;
    border-color:#bbf7d0 !important;
    color:#14532d !important;
    box-shadow:none !important;
}
.health-dot.good .health-dot-core{
    background:#bbf7d0 !important;
}

/* 1.4.29 Webwerk report draft experiment */
.report-draft-warning{
    border-left:4px solid #9b7a5d;
    background:#fffaf3;
}
.report-draft{
    max-width:980px;
    font-family:Avenir, "Avenir Next", Helvetica, Arial, sans-serif;
    color:#242424;
    line-height:1.55;
}
.report-draft h1{
    color:#9b7a5d;
    font-size:26px;
    line-height:1.2;
    margin:22px 0 6px;
    font-weight:700;
}
.report-draft h2{
    color:#9b7a5d;
    font-size:17px;
    line-height:1.25;
    margin:26px 0 8px;
    font-weight:400;
}
.report-draft p,
.report-draft li{
    font-size:15px;
}
.report-address{
    margin:0 0 22px;
    color:#333;
}
.report-address p{
    margin:0 0 3px;
    font-size:14px;
}
.report-subline{
    color:#666;
    margin-top:0;
}
.report-table{
    width:100%;
    border-collapse:collapse;
    margin:12px 0 18px;
    font-size:14px;
}
.report-table th{
    background:#9b7a5d;
    color:#fff;
    text-align:left;
    font-weight:400;
    padding:8px;
}
.report-table td{
    border:1px solid #e0d4c9;
    padding:8px;
    vertical-align:top;
}
.report-internal{
    border-left:4px solid #c2410c;
}
@media print{
    .topbar,.toolbar,.page-title .title-actions,.report-draft-warning,.report-internal,.site-footer{
        display:none !important;
    }
    body{
        background:#fff !important;
    }
    .card.report-draft{
        box-shadow:none !important;
        border:0 !important;
        padding:0 !important;
        max-width:none !important;
    }
}

/* 1.4.30 internal quarterly report mail settings */
.settings-form label{
    color:#374151;
    font-size:13px;
}

/* 1.4.32 Critical Plugins license marker
   Signal only: license exists somewhere. No secrets, no health relevance. */
.critical-summary.compact{
    grid-template-columns:minmax(130px,170px) minmax(130px,170px) minmax(130px,170px) minmax(130px,170px) 1fr;
}
.critical-summary-card.license .summary-number{
    color:#067647;
}
.critical-plugin-meta{
    grid-column:2 / -1;
    display:flex;
    align-items:center;
    gap:6px;
    margin-top:-3px;
    min-height:20px;
}
.critical-plugin-meta .critical-plugin-suggested{
    grid-column:auto;
    margin-top:0;
}
.critical-plugin-license-marker{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:2px 7px;
    border-radius:999px;
    background:#f3f4f6;
    border:1px solid #d0d5dd;
    color:#667085;
    font-size:11px;
    font-weight:800;
    line-height:1.25;
    cursor:pointer;
}
.critical-plugin-license-marker:hover{
    background:#eef2f6;
    color:#475467;
}
.critical-plugin-license-marker.is-licensed{
    background:#ecfdf3;
    border-color:#abefc6;
    color:#067647;
}
.critical-plugin-item.is-licensed:not(.is-critical){
    border-color:#d1fadf;
}

/* 1.4.34 Backup provider icons */
.backup-badge.backup-icon-badge{
    min-width:32px;
    width:32px;
    height:28px;
    padding:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:transparent !important;
    border-color:transparent !important;
    box-shadow:none !important;
}
.backup-provider-icon{
    display:block;
    width:24px;
    height:24px;
    object-fit:contain;
    border-radius:6px;
}
.backup-provider-dreamobjects{
    width:25px;
    height:25px;
}
.backup-provider-swiss{
    width:24px;
    height:24px;
}


/* 1.4.35 Gemonio column: Fox logo instead of "aktiv v..." text */
.gemonio-pill.gemonio-logo-pill{
    min-width:56px;
    height:28px;
    padding:2px 7px 2px 4px;
    gap:5px;
    background:transparent !important;
    border-color:transparent !important;
    box-shadow:none !important;
    color:#1f2937;
    font-weight:700;
}
.gemonio-status-icon{
    display:block;
    width:24px;
    height:24px;
    object-fit:contain;
    border-radius:6px;
}
.gemonio-status-version{
    font-size:12px;
    line-height:1;
    color:#1f2937;
    white-space:nowrap;
}


/* 1.4.36 Header/Gemonio/Backup icon optical refinement */
.brand-logo{
    width:60px !important;
    height:60px !important;
}
.brand-title{
    gap:12px !important;
}
.gemonio-pill.gemonio-logo-pill{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    min-width:0;
    height:26px;
    padding:0 4px 0 0;
    gap:6px;
    vertical-align:middle;
    font-weight:400 !important;
}
.gemonio-status-icon{
    width:23px;
    height:23px;
    flex:0 0 23px;
    border-radius:5px;
}
.gemonio-status-version{
    display:inline-flex;
    align-items:center;
    height:23px;
    line-height:23px;
    font-size:12px;
    font-weight:400 !important;
    letter-spacing:.01em;
    transform:translateY(0);
}
.backup-provider-dreamobjects{
    width:21px !important;
    height:21px !important;
}
.backup-provider-swiss{
    width:24px !important;
    height:24px !important;
}


/* 1.4.37 Visual harmony refinement */
.page-title.compact{
    align-items:flex-start;
}
.page-title.compact .title-actions{
    align-self:flex-start;
}
.domain-table td .service-pill,
.domain-table td .gemonio-pill,
.domain-table td .maintenance-badge,
.domain-table td .backup-badge,
.domain-table td .badge,
.domain-table td .update-badges,
.domain-table td .update-badges > *{
    vertical-align:middle;
}
.update-badges{
    align-items:center;
    gap:4px;
}
.gemonio-pill.gemonio-logo-pill{
    gap:7px !important;
    padding-right:2px !important;
}
.gemonio-status-icon{
    width:20px !important;
    height:20px !important;
    flex:0 0 20px !important;
    border-radius:4px !important;
}
.gemonio-status-version{
    height:auto !important;
    line-height:1.1 !important;
    font-size:12px !important;
    font-weight:400 !important;
    color:#344054 !important;
    letter-spacing:0 !important;
    transform:translateY(1px) !important;
}
.backup-badge.backup-icon-badge{
    min-width:30px !important;
    width:30px !important;
    height:26px !important;
}
.backup-provider-swiss{
    width:21px !important;
    height:21px !important;
}
.backup-provider-dreamobjects{
    width:18px !important;
    height:18px !important;
}

/* 1.4.38 Hosting + inactive plugin visual trial */
.hosting-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;background:#edf2f5;color:#263842;font-size:12px;font-weight:500;line-height:1.2}.hosting-confidence-high{background:#e7f7ed;color:#096b2d}.hosting-confidence-medium{background:#fff4d7;color:#6f4b00}.plugin-summary{margin:.2rem 0 .65rem}.plugin-status-list{padding-left:0;list-style:none}.plugin-status-item{border-radius:8px;padding:5px 7px;margin:3px 0;border:1px solid transparent}.plugin-is-active{background:transparent}.plugin-is-inactive{background:#f2f4f5;border-color:#e1e6ea;color:#43515a}.plugin-is-inactive-critical{background:#fff4d7;border-color:#f1d27a}.plugin-state-label{display:inline-flex;border-radius:999px;background:#e1e7eb;color:#43515a;padding:2px 6px;font-size:11px;margin-left:4px}.plugin-file-muted{display:block;color:#8a949b;font-size:11px;margin-top:2px}

/* 1.4.39 dashboard marker for inactive plugins. Kept inside the existing update ratio to avoid vertical drift. */
.domain-table .inactive-plugin-marker{
    display:inline-flex !important;
    align-items:center !important;
    margin-left:4px !important;
    padding:1px 5px !important;
    border-radius:999px !important;
    white-space:nowrap !important;
    background:#edf0f2 !important;
    border:1px solid #dde3e7 !important;
    color:#7d8790 !important;
    font-size:12px !important;
    font-weight:400 !important;
    line-height:1.15 !important;
    vertical-align:baseline !important;
}
.domain-table .inactive-plugin-marker.has-inactive{
    background:#f0e8f5 !important;
    border-color:#d8c3e6 !important;
    color:#7a5c8f !important;
    font-weight:600 !important;
}
/* Give Updates a little more room and take it calmly from the right side. */
.domain-table .updates-head,
.domain-table .updates-cell{
    min-width:194px !important;
}
.domain-table .col-backup,
.domain-table .backup-cell{
    width:56px !important;
    min-width:56px !important;
    padding-left:4px !important;
    padding-right:4px !important;
}
.domain-table td.row-actions,
.domain-table .row-actions{
    width:62px !important;
    min-width:62px !important;
    padding-right:5px !important;
}

/* 1.4.40: inactive plugin marker now has a quiet grey pill background when count is 0. */


/* 1.4.41 Hotfix: completely grey marker when count is 0 */
.domain-table .inactive-plugin-marker{
    background:#f2f4f5 !important;
    border-color:#d0d5dd !important;
    color:#98a2b3 !important;
}
.domain-table .inactive-plugin-marker.has-inactive{
    background:#f0e8f5 !important;
    border-color:#d8c3e6 !important;
    color:#7a5c8f !important;
}


/* 1.4.42 Hosting visibility fix */
.hosting-detail-box{margin:0 0 14px;padding:12px 14px;border:1px solid #dfe6ea;border-radius:12px;background:#f6f8f9;color:#263842}.hosting-detail-box h3{margin:0 0 8px;font-size:14px}.hosting-detail-box .compact-facts{margin:0}.hosting-detail-box code{font-size:12px}.hosting-detail-high{background:#edf8f0;border-color:#cfead8}.hosting-detail-medium{background:#fff8e8;border-color:#ead79b}.hosting-detail-missing{background:#f3f5f6;border-color:#dfe5e8;color:#64727a}.hosting-detail-missing strong{color:#43515a}

/* 1.4.43 Detailansicht: ruhigere Zwei-Spalten-Struktur */
.detail-layout-harmony{display:grid;grid-template-columns:minmax(280px,0.9fr) minmax(360px,1.4fr);gap:18px;align-items:start;margin-top:12px}
.detail-left-stack{display:grid;grid-template-columns:1fr;gap:14px}
.detail-card{border:1px solid #dfe6ea;border-radius:12px;background:#fff;padding:14px 16px;box-shadow:0 1px 2px rgba(15,23,42,.03)}
.detail-card h3{margin:0 0 10px;font-size:15px;color:#263842}
.detail-card h4{margin:12px 0 8px;font-size:13px;color:#4d5961}
.detail-plugins-column .plugin-status-list{columns:1;margin-top:8px}
.detail-plugins-column .plugin-status-item{break-inside:avoid;margin-bottom:6px}
.detail-plugins-column .plugin-file-muted{display:block;margin-top:2px;font-size:11px;color:#7b8790}
@media(max-width:980px){.detail-layout-harmony{grid-template-columns:1fr}.detail-plugins-column .plugin-status-list{columns:1}}


/* 1.4.44 Backup icon spacing micro trial: move only the dashboard backup icon slightly right. */
.domain-table .backup-cell .backup-badge.backup-icon-badge{
    transform:translateX(12px) !important;
}


/* 1.4.45 Hotfix: replace native emoji plug with currentColor SVG so 🔌0 is genuinely grey. */
.domain-table .inactive-plugin-marker-icon{
    width:13px !important;
    height:13px !important;
    display:inline-block !important;
    margin-right:2px !important;
    fill:currentColor !important;
    flex:0 0 auto !important;
}
.domain-table .inactive-plugin-marker-count{
    color:inherit !important;
    line-height:1 !important;
}

/* 1.5.10 Security warning: Nutzer-Warndreieck als PNG, transparenter Hintergrund */
.security-warning-marker {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: 6px !important;
    width: 22px !important;
    height: 22px !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    padding: 0 !important;
}
.security-warning-icon {
    width: 18px !important;
    height: auto !important;
    display: block !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
.security-heading-icon {
    width: 18px !important;
    height: auto !important;
    display: inline-block !important;
    vertical-align: -3px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    margin-right: 6px !important;
}
.security-detail-card.security-card-warning {
    border-color: #e2c75f;
    background: #fffaf0;
}
.security-detail-card .security-reasons {
    margin-top: 8px;
}


/* 1.5.2 Security whitelist + updates row micro alignment */
.domain-table .updates-cell .update-badges{
    align-items:center !important;
}
.domain-table .updates-ratio,
.domain-table .updates-none{
    display:inline-flex !important;
    align-items:center !important;
    line-height:1 !important;
    vertical-align:middle !important;
    transform:translateY(-1px) !important;
}
.domain-table .inactive-plugin-marker{
    align-self:center !important;
    line-height:1 !important;
}
.security-upload-files{margin-top:8px;}
.security-upload-file{padding:5px 0;}
.security-upload-file code{font-size:12px;}
.security-upload-file.allowed code{opacity:.82;}
.inline-security-action{display:inline-block;margin-left:8px;}
.inline-security-action .small-button{font-size:11px;padding:2px 7px;border-radius:999px;border:1px solid #d0d5dd;background:#f8fafc;color:#344054;cursor:pointer;}
.inline-security-action .small-button:hover{background:#eef2f6;}


/* 1.5.5 Dashboard warning symbol cleanup
   Based on 1.5.2. The Updates column alignment is deliberately left unchanged.
   Only the security warning marker loses its circular pill background. */


/* 1.5.11 Hotfix: Security warning icon must stay transparent inside Status column */
.domain-table td:nth-child(3) span.security-warning-marker,
.domain-table td:nth-child(3) .security-warning-marker,
.domain-table td:nth-child(3) span.security-warning-marker:not(.health-dot):not(.small){
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-color: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
    padding: 0 !important;
}
.domain-table td:nth-child(3) .security-warning-marker img.security-warning-icon,
.domain-table td:nth-child(3) img.security-warning-icon{
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
}


/* 1.5.14 Health-Begründung in der Detailansicht */
.health-reason-card{background:#ffffff}
.health-reason-card.health-reason-ok{border-color:#d6eadb;background:#f8fcf9}
.health-reason-card.health-reason-good{border-color:#d9ead7;background:#fbfdf9}
.health-reason-card.health-reason-notice{border-color:#ead79b;background:#fffaf0}
.health-reason-card.health-reason-warn{border-color:#e0b07a;background:#fff7ef}
.health-reason-card.health-reason-bad{border-color:#e2a1a1;background:#fff4f4}
.health-reason-summary{margin:0 0 8px;color:#263842}
.health-reason-summary .muted{font-weight:400;margin-left:4px}
.health-reason-list{margin-top:6px}
.health-reason-list li{margin-bottom:4px}

/* 1.5.16 Theme-/Lizenzübersicht */
.theme-overview-table {
  width: 100%;
  border-collapse: collapse;
}
.theme-overview-table th,
.theme-overview-table td {
  padding: 10px 12px;
  border-bottom: 1px solid rgba(31,41,55,.10);
  vertical-align: top;
  text-align: left;
}
.theme-overview-table th {
  font-size: 12px;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: #6b7280;
}
.theme-domain-list {
  margin: 0;
}
.theme-domain-list li {
  margin: 0 0 5px 0;
}


/* 1.5.19 Terminal refresh log refinement */
.refresh-progress{
    width:100%;
    box-sizing:border-box;
}
.refresh-progress-log{
    min-height:86px;
    max-height:180px;
    overflow:auto;
    white-space:normal;
    word-break:break-word;
    overflow-wrap:anywhere;
    background:#111820;
    border-color:#223241;
    color:#c9d6df;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.refresh-progress-log::before{
    content:"> ";
    color:#7bbf8f;
}
.refresh-progress-token{
    display:inline;
    margin-right:8px;
}
.refresh-progress-token.ok{
    color:#7bd88f;
}
.refresh-progress-token.bad{
    color:#ff9b7b;
}
.refresh-progress-token.info{
    color:#9ecbff;
}


/* 1.5.20 Terminal refresh log: one domain per line, full-height typewriter */
.refresh-progress-log{
    min-height:320px;
    max-height:55vh;
    overflow:auto;
    white-space:pre-wrap;
    word-break:normal;
    overflow-wrap:anywhere;
    padding:10px 12px;
}
.refresh-progress-log::before{
    content:none;
}
.refresh-progress-token{
    display:block;
    margin:0 0 4px 0;
    white-space:pre-wrap;
}
.refresh-progress-token::before{
    content:"> ";
    color:#7bbf8f;
}
.refresh-progress-token.info::before{
    color:#9ecbff;
}
.refresh-progress-token.bad::before{
    color:#ff9b7b;
}


/* 1.5.21 Theme overview grouping + backup icon visibility fix */
.theme-overview-table .theme-family-row td{
    background:#f6f0fa !important;
    color:#3f2f4a !important;
    border-top:2px solid #e2d4ea !important;
    border-bottom:1px solid #e8dcef !important;
    padding-top:10px !important;
    padding-bottom:10px !important;
}
.theme-overview-table .theme-family-row strong{
    font-size:14px;
    letter-spacing:.01em;
}
.domain-table .backup-cell{
    overflow:visible !important;
}
.domain-table .backup-cell .backup-badge.backup-icon-badge{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    visibility:visible !important;
    opacity:1 !important;
    transform:none !important;
    margin-left:8px !important;
}
.domain-table .backup-cell .backup-provider-icon{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
}

/* 1.5.23 Wordfence diagnostics */
.wordfence-diagnostics-box {
    margin: 10px 0 12px;
    padding: 10px 12px;
    border: 1px solid rgba(120, 113, 108, .22);
    border-radius: 10px;
    background: rgba(250, 250, 249, .78);
}
.wordfence-diagnostics-box details {
    margin-top: 8px;
}
.wordfence-diagnostics-box summary {
    cursor: pointer;
    font-weight: 600;
}
.compact-facts-small dt,
.compact-facts-small dd {
    font-size: 12px;
}

/* 1.5.24 Wordfence human-readable presentation */
.wordfence-issue-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.wordfence-issue-item{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px 10px;align-items:start;padding:8px 10px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.wordfence-issue-item.is-critical{border-color:#f3c7c7;background:#fff7f7}.wordfence-issue-item.is-medium{border-color:#f1d59b;background:#fffaf0}.wordfence-issue-item.is-low{border-color:#dde3ea;background:#fbfcfd}.wordfence-severity-label{display:inline-block;min-width:62px;font-size:12px;font-weight:700;line-height:1.4;text-transform:none;color:#374151;white-space:nowrap}.wordfence-issue-item.is-critical .wordfence-severity-label{color:#b91c1c}.wordfence-issue-item.is-medium .wordfence-severity-label{color:#92400e}.wordfence-issue-main{display:flex;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere}.wordfence-issue-note{font-size:13px;color:#374151}.wordfence-issue-meta{font-size:12px;color:#6b7280}.wordfence-issue-more{list-style:none;color:#6b7280;font-size:13px;margin:4px 0 0;padding:0 2px}.wordfence-diagnostics-collapsed{margin-top:10px;color:#6b7280}.wordfence-diagnostics-collapsed summary{cursor:pointer;font-size:13px}.wordfence-diagnostics-collapsed[open]{padding:8px 10px;border:1px solid #e5e7eb;border-radius:10px;background:#fbfcfd}.wordfence-diagnostics-raw{margin-top:8px}.wordfence-diagnostics-raw .mini-list{max-height:280px;overflow:auto}


/* 1.5.27 Updates ratio compact fix: always x/y, never x / y. */
.domain-table .updates-ratio{
    gap:0 !important;
    letter-spacing:0 !important;
    word-spacing:0 !important;
    white-space:nowrap !important;
}
.domain-table .updates-ratio .updates-sep{
    padding:0 !important;
    margin:0 !important;
}
.domain-table .updates-ratio .updates-critical,
.domain-table .updates-ratio .updates-critical-zero,
.domain-table .updates-ratio .updates-total{
    padding:0 !important;
    margin:0 !important;
    letter-spacing:0 !important;
    word-spacing:0 !important;
}


/* 1.5.28 Wordfence findings rebuild: readable full-width list, no letter columns. */
.detail-right-stack{display:grid;grid-template-columns:1fr;gap:14px;align-items:start;min-width:0}
.security-detail-card .security-status-facts{margin-bottom:10px}
.security-wordfence-issues{width:100%;min-width:0;margin:14px 0 0;padding-top:10px;border-top:1px solid rgba(120,113,108,.18)}
.wordfence-issues-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 8px;font-size:14px;color:#263842}
.wordfence-issues-head .muted{font-size:12px;font-weight:500}
.security-wordfence-issues .wordfence-issue-list{width:100%;min-width:0;margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.security-wordfence-issues .wordfence-issue-item{width:100%;min-width:0;display:grid;grid-template-columns:minmax(74px,92px) minmax(0,1fr);gap:8px 12px;align-items:start;padding:9px 11px;border-radius:11px;background:#fff;border:1px solid #e5e7eb}
.security-wordfence-issues .wordfence-issue-item.is-critical{border-color:#f0b8b8;background:#fff7f7}
.security-wordfence-issues .wordfence-issue-item.is-high{border-color:#f2c7a7;background:#fff8f2}
.security-wordfence-issues .wordfence-issue-item.is-medium{border-color:#f1d59b;background:#fffaf0}
.security-wordfence-issues .wordfence-issue-item.is-low{border-color:#dde3ea;background:#fbfcfd}
.security-wordfence-issues .wordfence-severity-label{display:inline-block;min-width:0;width:auto;font-size:12px;font-weight:800;line-height:1.35;white-space:nowrap;word-break:normal;overflow-wrap:normal;color:#374151}
.security-wordfence-issues .wordfence-issue-item.is-critical .wordfence-severity-label{color:#b91c1c}
.security-wordfence-issues .wordfence-issue-item.is-high .wordfence-severity-label{color:#b45309}
.security-wordfence-issues .wordfence-issue-item.is-medium .wordfence-severity-label{color:#92400e}
.security-wordfence-issues .wordfence-issue-main{min-width:0;display:flex;flex-direction:column;gap:3px;word-break:normal;overflow-wrap:break-word;hyphens:auto}
.security-wordfence-issues .wordfence-issue-titleline strong{font-size:13px;line-height:1.35;color:#1f2937;word-break:normal;overflow-wrap:break-word}
.security-wordfence-issues .wordfence-issue-note{font-size:12.5px;line-height:1.35;color:#374151;word-break:normal;overflow-wrap:break-word}
.security-wordfence-issues .wordfence-issue-meta{font-size:11.5px;line-height:1.35;color:#6b7280;word-break:normal;overflow-wrap:break-word}
.security-wordfence-issues .wordfence-issue-more{list-style:none;color:#6b7280;font-size:12.5px;margin:2px 0 0;padding:0 2px}
.detail-diagnostics-card{min-width:0}
@media(max-width:980px){.detail-right-stack{display:grid}.security-wordfence-issues .wordfence-issue-item{grid-template-columns:minmax(68px,82px) minmax(0,1fr)}}
@media(max-width:520px){.security-wordfence-issues .wordfence-issue-item{grid-template-columns:1fr}.security-wordfence-issues .wordfence-severity-label{margin-bottom:2px}}


/* 1.5.29 Wordfence affected objects: show concrete object per finding. */
.security-wordfence-issues .wordfence-issue-affected{
    display:block;
    font-size:12.8px;
    line-height:1.35;
    color:#1f2937;
    word-break:normal;
    overflow-wrap:break-word;
}
.security-wordfence-issues .wordfence-issue-affected strong{
    font-weight:800;
}
.security-wordfence-issues .wordfence-issue-affected.missing{
    color:#7c6f64;
}
.security-wordfence-issues .wordfence-field-label{
    font-weight:700;
    color:#6b7280;
}
.security-wordfence-issues .wordfence-issue-problem{
    display:block;
    font-size:12.5px;
    line-height:1.35;
    color:#374151;
    word-break:normal;
    overflow-wrap:break-word;
}


/* 1.5.30 Wordfence real details: closer to Wordfence issue view. */
.security-wordfence-issues .wordfence-issue-message{
    display:block;
    font-size:12.5px;
    line-height:1.35;
    color:#374151;
    word-break:normal;
    overflow-wrap:break-word;
}
.security-wordfence-issues .wordfence-issue-details{
    display:block;
    margin-top:2px;
    font-size:12px;
    line-height:1.35;
    color:#4b5563;
}
.security-wordfence-issues .wordfence-issue-details summary{
    cursor:pointer;
    font-weight:700;
    color:#6b7280;
}
.security-wordfence-issues .wordfence-issue-details span{
    display:block;
    margin-top:2px;
    padding-left:8px;
    border-left:2px solid rgba(107,114,128,.22);
    word-break:normal;
    overflow-wrap:break-word;
}


/* 1.5.31 Wordfence visible findings only: suppress raw config/serialized diagnostic noise. */
.security-wordfence-issues .wordfence-issue-empty-note{
    list-style:none;
    padding:10px 12px;
    border:1px dashed rgba(120,113,108,.35);
    border-radius:11px;
    background:#fffdf7;
    color:#374151;
    font-size:12.8px;
    line-height:1.4;
}


/* 1.5.32 Wordfence support-content filter: no visual change, stricter data hygiene. */


/* 1.5.33 Wordfence strict issues only: visible list is the source of truth. */
.security-wordfence-issues .wordfence-issue-filter-note{
    list-style:none;
    padding:4px 2px 0;
    font-size:12px;
}


/* 1.5.34 Wordfence deduplication: no visual change, only one card per unique issue. */

/* 1.5.35 Wordfence diagnostics source + raw health guard. */


/* 1.5.36 Scan modes: Full Scan / Red Dot Scan */
.title-actions .button-red-dot{
    font-weight:700;
}
.title-actions .button-red-dot::before{
    content:"● ";
}

/* 1.5.37 Cron Refresh Endpoint / Auto-Scan status. */


/* 1.5.38 Plugin usage locator */
.plugin-usage-card .description{
    margin-top:0;
}
.plugin-usage-list{
    display:grid;
    gap:12px;
}
.plugin-usage-item{
    border:1px solid rgba(120,100,80,.18);
    border-radius:14px;
    padding:12px 14px;
    background:rgba(255,255,255,.72);
}
.plugin-usage-item.is-focus{
    border-color:rgba(160,65,48,.45);
    box-shadow:0 0 0 2px rgba(160,65,48,.08);
}
.plugin-usage-head{
    display:flex;
    justify-content:space-between;
    gap:14px;
    align-items:flex-start;
}
.plugin-usage-badge{
    display:inline-block;
    white-space:nowrap;
    border-radius:999px;
    padding:4px 9px;
    font-size:.82rem;
    background:rgba(120,100,80,.12);
}
.plugin-usage-found .plugin-usage-badge,
.plugin-usage-option_hint .plugin-usage-badge{
    background:rgba(236,180,68,.20);
}
.plugin-usage-global_possible .plugin-usage-badge{
    background:rgba(120,150,190,.18);
}
.plugin-usage-counts{
    margin:.35rem 0;
    font-size:.86rem;
}
.plugin-usage-hits{
    margin-top:.35rem;
}


/* 1.5.39 Plugin usage finder: compact placement in right detail column */
.detail-right-stack .plugin-usage-card-compact{
    margin-top:0;
}
.detail-right-stack .plugin-usage-card-compact .description{
    font-size:.82rem;
    line-height:1.35;
}
.detail-right-stack .plugin-usage-card-compact .plugin-usage-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.detail-right-stack .plugin-usage-card-compact .plugin-usage-item{
    padding:10px;
}
.detail-right-stack .plugin-usage-card-compact .plugin-usage-head{
    display:block;
}
.detail-right-stack .plugin-usage-card-compact .plugin-usage-badge{
    margin-top:6px;
    white-space:normal;
}
.detail-right-stack .plugin-usage-card-compact .plugin-usage-hits{
    font-size:.84rem;
}
@media (max-width: 1100px){
    .detail-right-stack .plugin-usage-card-compact .plugin-usage-list{
        grid-template-columns:1fr;
    }
}


/* 1.5.40 Plugin risk & decision layer */
.plugin-risk-card .description{
    margin-top:0;
}
.plugin-risk-list{
    display:grid;
    gap:12px;
}
.plugin-risk-item{
    border:1px solid rgba(120,100,80,.18);
    border-radius:14px;
    padding:12px 14px;
    background:rgba(255,255,255,.74);
}
.plugin-risk-critical{
    border-color:rgba(165,55,42,.55);
    box-shadow:0 0 0 2px rgba(165,55,42,.08);
}
.plugin-risk-orange{
    border-color:rgba(214,139,43,.48);
}
.plugin-risk-yellow{
    border-color:rgba(212,178,72,.42);
}
.plugin-risk-grey{
    opacity:.92;
}
.plugin-risk-head{
    display:flex;
    justify-content:space-between;
    gap:14px;
    align-items:flex-start;
}
.plugin-risk-badge{
    display:inline-block;
    white-space:nowrap;
    border-radius:999px;
    padding:4px 9px;
    font-size:.82rem;
    background:rgba(120,100,80,.12);
}
.plugin-risk-critical .plugin-risk-badge{
    background:rgba(165,55,42,.16);
    color:#8b241b;
}
.plugin-risk-orange .plugin-risk-badge{
    background:rgba(214,139,43,.18);
}
.plugin-risk-yellow .plugin-risk-badge{
    background:rgba(212,178,72,.18);
}
.plugin-risk-facts,
.plugin-risk-recommendation{
    margin:.4rem 0;
    font-size:.88rem;
    line-height:1.35;
}
.plugin-risk-decision-form{
    display:grid;
    grid-template-columns:minmax(120px,.8fr) minmax(160px,1.2fr) auto;
    gap:8px;
    align-items:end;
    margin-top:10px;
}
.plugin-risk-decision-form label{
    font-size:.82rem;
}
.plugin-risk-decision-form select,
.plugin-risk-decision-form input{
    width:100%;
    margin-top:3px;
    padding:7px 8px;
    border:1px solid rgba(120,100,80,.25);
    border-radius:8px;
    background:#fff;
}
.plugin-risk-saved{
    grid-column:1 / -1;
    font-size:.78rem;
}
.detail-right-stack .plugin-risk-card-compact{
    margin-top:0;
}
.detail-right-stack .plugin-risk-card-compact .plugin-risk-list{
    grid-template-columns:1fr;
}
.detail-right-stack .plugin-risk-card-compact .plugin-risk-item{
    padding:10px;
}
.detail-right-stack .plugin-risk-card-compact .plugin-risk-head{
    display:block;
}
.detail-right-stack .plugin-risk-card-compact .plugin-risk-badge{
    margin-top:6px;
}
.detail-right-stack .plugin-risk-card-compact .plugin-risk-decision-form{
    grid-template-columns:1fr;
}
@media (max-width: 1100px){
    .plugin-risk-decision-form{
        grid-template-columns:1fr;
    }
}


/* 1.5.41 Health-Verlauf / Formkurve im Verlauf-Kasten */
.monitor-form-curve{
    margin-top:14px;
    padding-top:12px;
    border-top:1px solid rgba(120,100,80,.16);
}
.monitor-form-curve-head{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    gap:12px;
    margin-bottom:8px;
    font-weight:700;
}
.monitor-form-curve-head small{
    font-weight:500;
    opacity:.64;
}
.monitor-form-track{
    position:relative;
    display:flex;
    align-items:center;
    gap:8px;
    min-height:22px;
    padding:2px 1px;
}
.monitor-form-track::before{
    content:"";
    position:absolute;
    left:8px;
    right:8px;
    top:50%;
    height:2px;
    background:rgba(90,80,70,.16);
    transform:translateY(-50%);
}
.monitor-form-dot{
    position:relative;
    z-index:1;
    width:15px;
    height:15px;
    border-radius:999px;
    display:inline-block;
    border:2px solid rgba(255,255,255,.96);
    box-shadow:0 1px 3px rgba(0,0,0,.18);
}
.monitor-form-ok{ background:#3f8f5a; }
.monitor-form-good{ background:#7faf60; }
.monitor-form-notice{ background:#d3b24b; }
.monitor-form-warn{ background:#d98b32; }
.monitor-form-bad{ background:#b6483c; }
.monitor-form-legend{
    margin-top:8px;
    font-size:.78rem;
    opacity:.72;
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    align-items:center;
}
.monitor-form-mini{
    width:9px;
    height:9px;
    border-radius:999px;
    display:inline-block;
    margin-right:3px;
}


/* 1.5.42 Schadcode-Muster-Alert */
.malware-pattern-alert{
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:flex-start;
    border-radius:16px;
    padding:13px 16px;
    margin:12px 0 14px;
    border:1px solid rgba(185,120,55,.32);
    background:rgba(255,244,225,.82);
}
.malware-pattern-alert.is-bad{
    border-color:rgba(170,55,45,.42);
    background:rgba(255,235,232,.88);
}
.malware-pattern-alert strong{
    font-size:1rem;
}
.malware-pattern-alert details{
    min-width:220px;
    max-width:520px;
}
.malware-pattern-alert summary{
    cursor:pointer;
    font-weight:700;
}
.malware-pattern-badge{
    display:inline-block;
    margin-left:6px;
    padding:2px 7px;
    border-radius:999px;
    font-size:.76rem;
    font-weight:700;
    vertical-align:middle;
    background:rgba(214,139,43,.18);
    color:#8a5417;
}
.malware-pattern-badge.is-bad{
    background:rgba(170,55,45,.16);
    color:#8e2a22;
}
.malware-pattern-detail{
    border-color:rgba(214,139,43,.28);
}
.malware-cluster-mini{
    border-top:1px solid rgba(120,100,80,.13);
    padding-top:9px;
    margin-top:10px;
}
.malware-cluster-mini:first-of-type{
    border-top:0;
    padding-top:0;
}
@media (max-width: 900px){
    .malware-pattern-alert{
        display:block;
    }
    .malware-pattern-alert details{
        margin-top:8px;
        max-width:none;
    }
}


/* 1.5.43 Scanfenster-Fehlerdiagnose */
.refresh-progress-token.warn{
    color:#9a5f13;
    background:rgba(214,139,43,.12);
    border-left:3px solid rgba(214,139,43,.65);
    padding-left:7px;
}
.refresh-progress-token.info{
    opacity:.78;
}


/* 1.5.44 Letzter Scanfehler im Verlauf */
.last-scan-error-box{
    margin-top:12px;
    padding:10px 12px;
    border-radius:12px;
    border:1px solid rgba(214,139,43,.32);
    background:rgba(255,246,232,.82);
}
.last-scan-error-box strong{
    display:block;
    margin-bottom:4px;
}
.last-scan-error-box p{
    margin:.25rem 0;
    line-height:1.35;
}
.last-scan-error-box .scan-error-hint{
    font-size:.86rem;
}


/* 1.5.45 Client-Performance-Hinweise */
.client-performance-card{
    border-color:rgba(214,139,43,.24);
}
.client-performance-card .warning{
    margin-top:0;
}
.client-performance-warnings li{
    color:#8a5417;
}


/* 1.5.46 Nicht lesbare Domains */
.unreadable-domains-alert{
    margin:14px 0;
    padding:14px 16px;
    border-radius:16px;
    border:1px solid rgba(190,55,55,.26);
    background:rgba(255,241,241,.86);
}
.unreadable-head strong{
    font-size:1rem;
}
.unreadable-head span{
    color:#7a3434;
}
.unreadable-groups{
    margin-top:10px;
    display:grid;
    gap:8px;
}
.unreadable-group{
    background:rgba(255,255,255,.72);
    border:1px solid rgba(190,55,55,.16);
    border-radius:12px;
    padding:8px 10px;
}
.unreadable-group summary{
    cursor:pointer;
}
.unreadable-group summary span{
    color:#7a3434;
    margin-left:6px;
}
.unreadable-hint{
    margin:.45rem 0 .2rem;
}
.unreadable-sites{
    margin-top:6px;
}


/* 1.5.47 Lite-Test / Timeout-Fallback */
.scan-error-lite{
    margin-top:.45rem!important;
    padding:6px 8px;
    border-radius:9px;
    font-size:.86rem;
    background:rgba(255,255,255,.68);
}
.scan-error-lite-ok{color:#276738;border-left:3px solid rgba(39,103,56,.45);}
.scan-error-lite-bad{color:#8a2d2d;border-left:3px solid rgba(138,45,45,.45);}
.detail-actions .button + .button{margin-left:6px;}


/* 1.5.48 Modul-Diagnose Button */
.detail-actions .button + .button,
.title-actions .button + .button{
    margin-left:6px;
}


/* 1.5.50 per-site langer Full-Timeout */
.checkbox-row{
    display:flex;
    align-items:center;
    gap:8px;
}
.checkbox-row input[type="checkbox"]{
    width:auto;
}


/* 1.5.51 Inline-Warndreieck ohne externe PNG-Datei */
.security-warning-icon,
.security-heading-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    vertical-align:-2px;
}
.security-warning-icon svg,
.security-heading-icon svg{
    display:block;
    width:1em;
    height:1em;
}


/* 1.5.53 Warndreieck: altes transparentes PNG als Data-URI, kein brauner SVG-Hintergrund */
.security-warning-marker,
.domain-table td:nth-child(3) .security-warning-marker{
    background:transparent !important;
    background-color:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    outline:0 !important;
    padding:0 !important;
}
.security-warning-icon,
.security-heading-icon,
.domain-table td:nth-child(3) img.security-warning-icon{
    background:transparent !important;
    background-color:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    outline:0 !important;
    object-fit:contain !important;
}
.security-warning-icon{width:18px !important;height:auto !important;display:block !important;}
.security-heading-icon{width:18px !important;height:auto !important;display:inline-block !important;vertical-align:-3px !important;margin-right:6px !important;}


/* 1.5.55 Klassische Dashboard-Action-Bar */
.page-title.compact .dashboard-action-bar{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:6px;
    padding:6px;
    border:1px solid rgba(18,56,73,.12);
    border-radius:18px;
    background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(247,250,252,.92));
    box-shadow:0 10px 28px rgba(18,56,73,.07);
}
.page-title.compact .dashboard-action-bar .button{
    margin-left:0 !important;
    min-height:34px;
    padding:8px 11px;
    border:1px solid rgba(18,56,73,.13) !important;
    border-radius:12px;
    background:#fff !important;
    color:#123849 !important;
    box-shadow:none !important;
    font-size:13px;
    font-weight:700;
    letter-spacing:.005em;
    transition:background .12s ease, border-color .12s ease, transform .12s ease, box-shadow .12s ease;
}
.page-title.compact .dashboard-action-bar .button:hover{
    background:#f4f8fa !important;
    border-color:rgba(18,56,73,.24) !important;
    color:#123849 !important;
    box-shadow:0 4px 12px rgba(18,56,73,.08) !important;
    transform:translateY(-1px);
}
.page-title.compact .dashboard-action-bar .button:active{
    transform:translateY(0);
    box-shadow:none !important;
}
.page-title.compact .dashboard-action-bar .button[href="?view=add"]{
    background:#123849 !important;
    border-color:#123849 !important;
    color:#fff !important;
}
.page-title.compact .dashboard-action-bar .button[href="?view=add"]:hover{
    background:#0e2d3b !important;
    border-color:#0e2d3b !important;
    color:#fff !important;
}
.page-title.compact .dashboard-action-bar .button-red-dot::before{
    content:"●";
    margin-right:5px;
    color:#b54708;
    font-size:.78em;
    line-height:1;
}
.page-title.compact .dashboard-action-bar .button-red-dot{
    font-weight:700;
}

/* Override older semantic button colors only inside this dashboard action bar. */
.gemonio-button-color-fix .page-title.compact .dashboard-action-bar a.button.button-critical,
.gemonio-button-color-fix .page-title.compact .dashboard-action-bar .button.button-critical,
.gemonio-button-color-fix .page-title.compact .dashboard-action-bar a[href="?view=critical_plugins"],
.gemonio-button-color-fix .page-title.compact .dashboard-action-bar a[href*="view=critical_plugins"],
.gemonio-button-color-fix .page-title.compact .dashboard-action-bar a.button.button-themes,
.gemonio-button-color-fix .page-title.compact .dashboard-action-bar .button.button-themes,
.gemonio-button-color-fix .page-title.compact .dashboard-action-bar a[href="?view=theme_overview"],
.gemonio-button-color-fix .page-title.compact .dashboard-action-bar a[href*="view=theme_overview"]{
    background:#fff !important;
    border-color:rgba(18,56,73,.13) !important;
    color:#123849 !important;
    box-shadow:none !important;
}
.gemonio-button-color-fix .page-title.compact .dashboard-action-bar a.button.button-critical:hover,
.gemonio-button-color-fix .page-title.compact .dashboard-action-bar .button.button-critical:hover,
.gemonio-button-color-fix .page-title.compact .dashboard-action-bar a[href="?view=critical_plugins"]:hover,
.gemonio-button-color-fix .page-title.compact .dashboard-action-bar a[href*="view=critical_plugins"]:hover,
.gemonio-button-color-fix .page-title.compact .dashboard-action-bar a.button.button-themes:hover,
.gemonio-button-color-fix .page-title.compact .dashboard-action-bar .button.button-themes:hover,
.gemonio-button-color-fix .page-title.compact .dashboard-action-bar a[href="?view=theme_overview"]:hover,
.gemonio-button-color-fix .page-title.compact .dashboard-action-bar a[href*="view=theme_overview"]:hover{
    background:#f4f8fa !important;
    border-color:rgba(18,56,73,.24) !important;
    color:#123849 !important;
}
@media(max-width:900px){
    .page-title.compact{
        align-items:flex-start;
    }
    .page-title.compact .dashboard-action-bar{
        justify-content:flex-start;
        width:100%;
        margin-top:10px;
    }
    .page-title.compact .dashboard-action-bar .button{
        flex:1 1 auto;
        justify-content:center;
    }
}


/* 1.5.56 Plugin-Einsatzfinder: Fokus auf Prio-Plugins */
.plugin-usage-prio-list .plugin-usage-item.is-prio{
    border-color:rgba(18,56,73,.16);
}
.plugin-usage-prio-list .plugin-usage-item.is-prio .plugin-usage-badge{
    background:rgba(18,56,73,.08);
    color:#123849;
}
.plugin-usage-markers code{
    font-size:11px;
}


/* 1.5.57 Sichtbarer Einzelscan pro Website */
.row-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
    white-space:nowrap;
}
.row-actions a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:26px;
    padding:5px 7px;
    border-radius:9px;
    text-decoration:none;
    font-size:11px;
    font-weight:800;
    letter-spacing:.02em;
    border:1px solid rgba(18,56,73,.14);
    color:#123849;
    background:#fff;
}
.row-actions a:hover{
    background:#f4f8fa;
    border-color:rgba(18,56,73,.25);
}
.row-actions .row-action-scan{
    color:#0f4e5f;
    background:rgba(47,111,115,.08);
    border-color:rgba(47,111,115,.18);
}
.row-actions .row-action-scan:hover{
    background:rgba(47,111,115,.13);
    border-color:rgba(47,111,115,.30);
}
.button-single-scan{
    font-weight:800;
}


/* 1.5.58 Kompakte Zeilenaktionen: rechts bleibt Luft */
.row-actions.row-actions-compact{
    gap:4px;
    min-width:58px;
}
.row-actions.row-actions-compact a{
    width:27px;
    min-width:27px;
    min-height:27px;
    height:27px;
    padding:0;
    border-radius:10px;
    font-size:12px;
    line-height:1;
    font-weight:900;
    letter-spacing:0;
}
.row-actions.row-actions-compact .row-action-scan{
    color:#0f4e5f;
    background:rgba(47,111,115,.08);
    border-color:rgba(47,111,115,.20);
}
.row-actions.row-actions-compact .row-action-edit{
    color:#123849;
    background:#fff;
    border-color:rgba(18,56,73,.15);
}
.row-actions.row-actions-compact a:hover{
    transform:translateY(-1px);
}
@media(max-width:900px){
    .row-actions.row-actions-compact{
        min-width:54px;
    }
    .row-actions.row-actions-compact a{
        width:25px;
        min-width:25px;
        height:25px;
        min-height:25px;
        font-size:11px;
    }
}


/* 1.5.59 Feine Inline-SVG-Symbole für Zeilenaktionen */
.row-actions.row-actions-icons a{
    position:relative;
}
.row-actions.row-actions-icons .row-action-icon{
    width:15px;
    height:15px;
    display:block;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:transform .12s ease;
}
.row-actions.row-actions-icons .row-action-scan .row-action-icon{
    width:16px;
    height:16px;
}
.row-actions.row-actions-icons .row-action-edit .row-action-icon{
    width:15px;
    height:15px;
}
.row-actions.row-actions-icons .row-action-scan:hover .row-action-icon{
    transform:rotate(-10deg);
}
.row-actions.row-actions-icons .row-action-edit:hover .row-action-icon{
    transform:translateY(-.5px);
}


/* 1.5.60 Zeilenaktionen als nackte Symbole ohne Button-Kasten */
.row-actions.row-actions-compact.row-actions-icons{
    gap:8px;
    min-width:42px;
    padding-right:2px;
}
.row-actions.row-actions-compact.row-actions-icons a,
.row-actions.row-actions-compact.row-actions-icons .row-action-scan,
.row-actions.row-actions-compact.row-actions-icons .row-action-edit{
    width:auto !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    color:#123849;
    opacity:.82;
}
.row-actions.row-actions-compact.row-actions-icons a:hover,
.row-actions.row-actions-compact.row-actions-icons .row-action-scan:hover,
.row-actions.row-actions-compact.row-actions-icons .row-action-edit:hover{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    opacity:1;
    transform:none;
}
.row-actions.row-actions-compact.row-actions-icons .row-action-scan{
    color:#235e69;
}
.row-actions.row-actions-compact.row-actions-icons .row-action-edit{
    color:#123849;
}
.row-actions.row-actions-icons .row-action-icon{
    width:17px;
    height:17px;
}
.row-actions.row-actions-icons .row-action-scan .row-action-icon{
    width:18px;
    height:18px;
}
.row-actions.row-actions-icons .row-action-edit .row-action-icon{
    width:17px;
    height:17px;
}
@media(max-width:900px){
    .row-actions.row-actions-compact.row-actions-icons{
        gap:7px;
        min-width:38px;
    }
    .row-actions.row-actions-icons .row-action-icon{
        width:16px;
        height:16px;
    }
    .row-actions.row-actions-icons .row-action-scan .row-action-icon{
        width:17px;
        height:17px;
    }
}


/* 1.5.61 Backup-Symbol näher an Zeilenaktionen */
.domain-table th.col-backup,
.domain-table td.backup-cell{
    width:74px;
    max-width:74px;
    padding-right:6px !important;
    text-align:right;
}
.domain-table td.backup-cell{
    white-space:nowrap;
}
.domain-table td.backup-cell .backup-badge,
.domain-table td.backup-cell .backup-host-badge,
.domain-table td.backup-cell .backup-icon,
.domain-table td.backup-cell img,
.domain-table td.backup-cell svg{
    vertical-align:middle;
}
.domain-table td.row-actions.row-actions-compact.row-actions-icons{
    width:46px;
    max-width:46px;
    padding-left:4px !important;
    padding-right:10px !important;
    justify-content:flex-start;
    gap:9px;
}
@media(max-width:900px){
    .domain-table th.col-backup,
    .domain-table td.backup-cell{
        width:66px;
        max-width:66px;
        padding-right:5px !important;
    }
    .domain-table td.row-actions.row-actions-compact.row-actions-icons{
        width:42px;
        max-width:42px;
        padding-left:3px !important;
        padding-right:7px !important;
        gap:8px;
    }
}


/* 1.5.62 Einzelscan nutzt bestehenden schwarzen Monitor */
.row-actions.row-actions-icons .row-action-scan.is-working .row-action-icon,
.row-actions.row-actions-icons .row-action-scan.is-working-active .row-action-icon{
    animation:wsw-row-scan-spin .9s linear infinite;
}
@keyframes wsw-row-scan-spin{
    from{ transform:rotate(0deg); }
    to{ transform:rotate(360deg); }
}
.button-single-scan.is-working{
    opacity:.72;
    pointer-events:none;
}


/* 1.5.63 Schwebender Scan-Monitor / Overlay */
.refresh-progress.refresh-progress-overlay{
    position:fixed;
    right:26px;
    bottom:24px;
    width:min(560px, calc(100vw - 32px));
    max-height:min(560px, calc(100vh - 48px));
    z-index:9999;
    border-radius:18px;
    box-shadow:0 22px 70px rgba(5,18,28,.34), 0 0 0 1px rgba(255,255,255,.08) inset;
    overflow:hidden;
}
.refresh-progress.refresh-progress-overlay[hidden]{
    display:none !important;
}
.refresh-progress.refresh-progress-overlay .refresh-progress-head{
    position:sticky;
    top:0;
    z-index:2;
    display:flex;
    align-items:center;
    gap:10px;
}
.refresh-progress.refresh-progress-overlay .refresh-progress-head strong{
    flex:1 1 auto;
}
.refresh-progress.refresh-progress-overlay .refresh-progress-count{
    flex:0 0 auto;
}
.refresh-progress-close{
    flex:0 0 auto;
    width:26px;
    height:26px;
    min-height:26px;
    padding:0;
    margin:0 0 0 4px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px;
    background:rgba(255,255,255,.07);
    color:rgba(255,255,255,.86);
    font-size:18px;
    font-weight:700;
    line-height:1;
    cursor:pointer;
}
.refresh-progress-close:hover{
    background:rgba(255,255,255,.13);
    color:#fff;
}
.refresh-progress.refresh-progress-overlay .refresh-progress-log{
    max-height:min(320px, calc(100vh - 210px));
    overflow:auto;
}
@media(max-width:760px){
    .refresh-progress.refresh-progress-overlay{
        left:12px;
        right:12px;
        bottom:12px;
        width:auto;
        max-height:calc(100vh - 24px);
        border-radius:16px;
    }
    .refresh-progress.refresh-progress-overlay .refresh-progress-log{
        max-height:calc(100vh - 190px);
    }
}

/* 1.5.65 Right-edge icon harmony
   Goal: backup icon, scan icon and edit icon should feel like one family:
   same vertical axis, tighter grouping, cleaner spacing, no logic changes. */
.domain-table th.col-backup,
.domain-table td.backup-cell{
    width:54px !important;
    min-width:54px !important;
    max-width:54px !important;
    padding-left:2px !important;
    padding-right:2px !important;
}

.domain-table td.backup-cell{
    text-align:right !important;
    vertical-align:middle !important;
}

.domain-table td.backup-cell .backup-badge{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    vertical-align:middle !important;
    line-height:1 !important;
    margin:0 1px 0 0 !important;
    padding:0 !important;
    position:relative;
    top:-1px;
}

.domain-table td.backup-cell .backup-provider-icon,
.domain-table td.backup-cell .backup-provider-icon.backup-provider-swiss,
.domain-table td.backup-cell .backup-provider-icon.backup-provider-dreamobjects{
    width:18px !important;
    height:18px !important;
    display:block !important;
    background-size:contain !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
}

.domain-table td.row-actions.row-actions-compact.row-actions-icons{
    width:72px !important;
    min-width:72px !important;
    max-width:72px !important;
    padding-left:2px !important;
    padding-right:10px !important;
    white-space:nowrap !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:12px !important;
}

.domain-table td.row-actions.row-actions-compact.row-actions-icons a{
    width:18px !important;
    height:18px !important;
    min-width:18px !important;
    padding:0 !important;
    margin:0 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    vertical-align:middle !important;
    line-height:1 !important;
}

.domain-table td.row-actions.row-actions-compact.row-actions-icons .row-action-icon{
    width:18px !important;
    height:18px !important;
    display:block !important;
}

@media(max-width:900px){
    .domain-table th.col-backup,
    .domain-table td.backup-cell{
        width:50px !important;
        min-width:50px !important;
        max-width:50px !important;
        padding-right:1px !important;
    }

    .domain-table td.row-actions.row-actions-compact.row-actions-icons{
        width:66px !important;
        min-width:66px !important;
        max-width:66px !important;
        gap:10px !important;
        padding-right:8px !important;
    }
}


/* 1.5.66 Right-edge micro alignment
   - bring scan/edit closer to backup icon
   - nudge scan/edit approx. 2px downward
   - keep backup icon vertically correct */
.domain-table td.row-actions.row-actions-compact.row-actions-icons{
    width:64px !important;
    min-width:64px !important;
    max-width:64px !important;
    justify-content:flex-start !important;
    gap:10px !important;
    padding-left:2px !important;
    padding-right:6px !important;
}

.domain-table td.row-actions.row-actions-compact.row-actions-icons a{
    position:relative;
    top:2px;
}

@media(max-width:900px){
    .domain-table td.row-actions.row-actions-compact.row-actions-icons{
        width:60px !important;
        min-width:60px !important;
        max-width:60px !important;
        gap:9px !important;
        padding-right:5px !important;
    }
}


/* 1.6.0 Stable Reference microfix:
   During an individual scan, only the actively clicked scan icon spins.
   Other scan icons may remain disabled/marked as working, but they no longer animate. */
.row-actions.row-actions-icons .row-action-scan.is-working .row-action-icon{
    animation:none !important;
}
.row-actions.row-actions-icons .row-action-scan.is-working-active .row-action-icon{
    animation:wsw-row-scan-spin .9s linear infinite !important;
}


/* 1.6.0 Stable Reference microfix:
   Full Scan / Red Dot Scan use the same active-only feedback logic.
   Other action buttons may be disabled while a scan runs, but only the clicked
   Full/Red button gets the visible working marker. */
.page-title.compact .dashboard-action-bar .js-refresh-progress.is-working{
    pointer-events:none;
}

.page-title.compact .dashboard-action-bar .js-refresh-progress.is-working:not(.is-working-active){
    opacity:.72;
}

.page-title.compact .dashboard-action-bar .js-refresh-progress.is-working-active{
    opacity:1;
    position:relative;
    padding-left:30px;
}

.page-title.compact .dashboard-action-bar .js-refresh-progress.is-working-active::after{
    content:"";
    position:absolute;
    left:10px;
    top:50%;
    width:11px;
    height:11px;
    margin-top:-6px;
    border-radius:999px;
    border:2px solid currentColor;
    border-right-color:transparent;
    opacity:.75;
    animation:wsw-top-scan-spin .85s linear infinite;
}

@keyframes wsw-top-scan-spin{
    from{ transform:rotate(0deg); }
    to{ transform:rotate(360deg); }
}


/* 1.6.0 Stable Reference microfix:
   Visible active-only loader for Full Scan and Red Dot Scan.
   Uses ::before so the Red Dot Scan icon itself visibly becomes the spinner. */
.page-title.compact .dashboard-action-bar .js-refresh-progress.is-working-active{
    padding-left:30px !important;
}

.page-title.compact .dashboard-action-bar .js-refresh-progress.is-working-active::after{
    content:none !important;
    display:none !important;
    animation:none !important;
}

.page-title.compact .dashboard-action-bar .js-refresh-progress.is-working-active::before,
.page-title.compact .dashboard-action-bar .button-red-dot.js-refresh-progress.is-working-active::before{
    content:"" !important;
    position:absolute !important;
    left:10px !important;
    top:50% !important;
    width:11px !important;
    height:11px !important;
    margin-top:-6px !important;
    margin-right:0 !important;
    border-radius:999px !important;
    border:2px solid currentColor !important;
    border-right-color:transparent !important;
    color:inherit !important;
    opacity:.78 !important;
    line-height:1 !important;
    animation:wsw-top-scan-spin .85s linear infinite !important;
}

.page-title.compact .dashboard-action-bar .button-red-dot.js-refresh-progress.is-working:not(.is-working-active)::before{
    content:"●";
    position:static !important;
    width:auto !important;
    height:auto !important;
    margin-top:0 !important;
    margin-right:5px !important;
    border:0 !important;
    border-radius:0 !important;
    color:#b54708 !important;
    opacity:1 !important;
    animation:none !important;
}


/* 1.6.0 Stable Reference microfix:
   Real top-scan loader element for Full Scan and Red Dot Scan.
   This avoids pseudo-element/cache ambiguity and makes active-only feedback reliable. */
.page-title.compact .dashboard-action-bar .button-red-dot::before{
    content:none !important;
    display:none !important;
}

.page-title.compact .dashboard-action-bar .js-refresh-progress{
    display:inline-flex !important;
    align-items:center !important;
}

.page-title.compact .dashboard-action-bar .js-refresh-progress .top-scan-indicator{
    flex:0 0 auto;
    margin-right:6px;
    line-height:1;
}

.page-title.compact .dashboard-action-bar .js-refresh-progress .top-scan-indicator-full{
    display:none;
    width:11px;
    height:11px;
}

.page-title.compact .dashboard-action-bar .button-red-dot .top-scan-indicator-red{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto;
    height:auto;
}

.page-title.compact .dashboard-action-bar .button-red-dot .top-scan-indicator-red::before{
    content:"●";
    color:#b54708;
    font-size:.78em;
    line-height:1;
}

.page-title.compact .dashboard-action-bar .js-refresh-progress.is-working-active .top-scan-indicator,
.page-title.compact .dashboard-action-bar .js-refresh-progress[data-active-scan="1"] .top-scan-indicator{
    display:inline-block !important;
    width:11px !important;
    height:11px !important;
    border-radius:999px !important;
    border:2px solid currentColor !important;
    border-right-color:transparent !important;
    margin-right:7px !important;
    opacity:.82 !important;
    animation:wsw-top-scan-spin .85s linear infinite !important;
}

.page-title.compact .dashboard-action-bar .button-red-dot.js-refresh-progress.is-working-active .top-scan-indicator-red::before,
.page-title.compact .dashboard-action-bar .button-red-dot.js-refresh-progress[data-active-scan="1"] .top-scan-indicator-red::before{
    content:none !important;
    display:none !important;
}

.page-title.compact .dashboard-action-bar .js-refresh-progress.is-working:not(.is-working-active):not([data-active-scan="1"]) .top-scan-indicator-full{
    display:none !important;
}

.page-title.compact .dashboard-action-bar .button-red-dot.js-refresh-progress.is-working:not(.is-working-active):not([data-active-scan="1"]) .top-scan-indicator-red{
    display:inline-flex !important;
    width:auto !important;
    height:auto !important;
    border:0 !important;
    animation:none !important;
}


/* 1.6.0 Safe row scan feedback:
   REAL_SCAN_LOADER remains the base. This only adds animation to the row currently processed by Full/Red Scan. */
.row-actions.row-actions-icons .row-action-scan.is-row-scan-active .row-action-icon,
.row-actions.row-actions-icons .row-action-scan[data-current-scan="1"] .row-action-icon{
    animation:wsw-row-scan-spin .9s linear infinite !important;
}


/* 1.6.2 Scan monitor center placement:
   Move the floating scan monitor from bottom/right to screen center. */
.refresh-progress-overlay{
    position:fixed !important;
    top:50% !important;
    left:50% !important;
    right:auto !important;
    bottom:auto !important;
    transform:translate(-50%, -50%) !important;
    z-index:9999;
    max-width:calc(100vw - 32px);
}


/* 1.6.5 Stop scan button */
.refresh-progress-stop{
    flex:0 0 auto;
    height:26px;
    min-height:26px;
    padding:0 10px;
    margin:0 0 0 4px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px;
    background:rgba(180,35,24,.20);
    color:rgba(255,255,255,.92);
    font-size:12px;
    font-weight:700;
    line-height:1;
    cursor:pointer;
}
.refresh-progress-stop:hover,
.refresh-progress-stop.is-active:hover{
    background:rgba(180,35,24,.36);
    color:#fff;
}
.refresh-progress-stop.is-disabled,
.refresh-progress-stop[aria-disabled="true"],
.refresh-progress-stop:disabled{
    opacity:.45;
    cursor:default;
    background:rgba(180,35,24,.14);
}
.refresh-progress-stop.is-active,
.refresh-progress-stop[aria-disabled="false"]{
    opacity:1;
    cursor:pointer;
    position:relative;
    z-index:5;
}


/* 1.6.6 Stop button enable/z-index fix */
.refresh-progress.refresh-progress-overlay .refresh-progress-head{
    position:relative;
    z-index:10;
}
.refresh-progress.refresh-progress-overlay .refresh-progress-stop,
.refresh-progress.refresh-progress-overlay .refresh-progress-close{
    position:relative;
    z-index:11;
}


/* 1.6.7 Scan monitor pointer shield:
   The centered monitor must catch pointer events itself so clicks do not fall through to dashboard controls behind it. */
.refresh-progress.refresh-progress-overlay{
    pointer-events:auto !important;
    isolation:isolate;
    z-index:2147483000 !important;
}
.refresh-progress.refresh-progress-overlay,
.refresh-progress.refresh-progress-overlay *{
    box-sizing:border-box;
}
.refresh-progress.refresh-progress-overlay .refresh-progress-head,
.refresh-progress.refresh-progress-overlay .refresh-progress-current,
.refresh-progress.refresh-progress-overlay .refresh-progress-bar,
.refresh-progress.refresh-progress-overlay .refresh-progress-log,
.refresh-progress.refresh-progress-overlay .refresh-progress-stop,
.refresh-progress.refresh-progress-overlay .refresh-progress-close{
    pointer-events:auto !important;
}
.refresh-progress.refresh-progress-overlay .refresh-progress-stop,
.refresh-progress.refresh-progress-overlay .refresh-progress-close{
    user-select:none;
    -webkit-user-select:none;
    touch-action:manipulation;
}


/* 1.6.8 Stop click handler fix:
   The event shield now lets monitor buttons receive their own click before blocking bubble propagation. */
.refresh-progress.refresh-progress-overlay .refresh-progress-stop{
    pointer-events:auto !important;
}


/* 1.6.10 Detail text selection fix */
.accordion-detail,
.accordion-detail *,
.accordion-panel,
.accordion-panel *,
.detail-card,
.detail-card *,
.detail-layout-harmony,
.detail-layout-harmony *,
.detail-left-stack,
.detail-left-stack *,
.detail-right-stack,
.detail-right-stack *,
.plugin-status-list,
.plugin-status-list *,
.plugin-risk-list,
.plugin-risk-list *,
.plugin-usage-list,
.plugin-usage-list *,
.theme-overview-table,
.theme-overview-table *,
.theme-domain-list,
.theme-domain-list *,
.wordfence-diagnostics-raw,
.wordfence-diagnostics-raw *,
.malware-pattern-detail,
.malware-pattern-detail *,
.security-detail-card,
.security-detail-card *,
.backup-detail-box,
.backup-detail-box *,
.hosting-detail-box,
.hosting-detail-box *,
.monitor-changes-card,
.monitor-changes-card *,
.monitor-trend-card,
.monitor-trend-card *,
.health-reason-card,
.health-reason-card *,
pre,
pre *,
code,
code *{
    -webkit-user-select:text !important;
    -moz-user-select:text !important;
    -ms-user-select:text !important;
    user-select:text !important;
    cursor:text;
}

.accordion-detail a,
.accordion-detail a *,
.accordion-detail button,
.accordion-detail button *,
.accordion-detail input,
.accordion-detail select,
.accordion-detail textarea,
.accordion-detail label,
.accordion-panel a,
.accordion-panel a *,
.accordion-panel button,
.accordion-panel button *,
.accordion-panel input,
.accordion-panel select,
.accordion-panel textarea,
.accordion-panel label,
.detail-card a,
.detail-card a *,
.detail-card button,
.detail-card button *,
.detail-card input,
.detail-card select,
.detail-card textarea,
.detail-card label{
    -webkit-user-select:auto !important;
    -moz-user-select:auto !important;
    -ms-user-select:auto !important;
    user-select:auto !important;
    cursor:auto;
}

body.is-detail-text-selecting .accordion-detail,
body.is-detail-text-selecting .accordion-detail *,
body.is-detail-text-selecting .accordion-panel,
body.is-detail-text-selecting .accordion-panel *,
body.is-detail-text-selecting .detail-card,
body.is-detail-text-selecting .detail-card *{
    -webkit-user-select:text !important;
    -moz-user-select:text !important;
    -ms-user-select:text !important;
    user-select:text !important;
}


/* 1.6.11 Global monitor text selection:
   Allow normal copy/paste across dashboard table, domain table and detail window.
   Only true controls stay non-text-select oriented. */
html body,
html body .wrap,
html body .wrap *,
html body .container,
html body .container *,
html body main,
html body main *,
html body table,
html body table *,
html body .dashboard,
html body .dashboard *,
html body .dashboard-table,
html body .dashboard-table *,
html body .sites-table,
html body .sites-table *,
html body .site-table,
html body .site-table *,
html body .domain-table,
html body .domain-table *,
html body .overview-table,
html body .overview-table *,
html body .accordion-panel,
html body .accordion-panel *,
html body .accordion-detail,
html body .accordion-detail *,
html body .detail-card,
html body .detail-card *,
html body .detail-layout-harmony,
html body .detail-layout-harmony *,
html body .detail-left-stack,
html body .detail-left-stack *,
html body .detail-right-stack,
html body .detail-right-stack *,
html body .mini-list,
html body .mini-list *,
html body .plugin-status-list,
html body .plugin-status-list *,
html body .plugin-risk-list,
html body .plugin-risk-list *,
html body .plugin-usage-list,
html body .plugin-usage-list *,
html body .theme-overview-table,
html body .theme-overview-table *,
html body .theme-domain-list,
html body .theme-domain-list *,
html body .wordfence-diagnostics-raw,
html body .wordfence-diagnostics-raw *,
html body .malware-pattern-detail,
html body .malware-pattern-detail *,
html body .security-detail-card,
html body .security-detail-card *,
html body .backup-detail-box,
html body .backup-detail-box *,
html body .hosting-detail-box,
html body .hosting-detail-box *,
html body .monitor-changes-card,
html body .monitor-changes-card *,
html body .monitor-trend-card,
html body .monitor-trend-card *,
html body .health-reason-card,
html body .health-reason-card *,
html body .site-domain-one-line,
html body .site-domain,
html body .plugin-status-name,
html body .plugin-file-muted,
html body .muted,
html body pre,
html body pre *,
html body code,
html body code *{
    -webkit-user-select:text !important;
    -moz-user-select:text !important;
    -ms-user-select:text !important;
    user-select:text !important;
}

/* Keep actual controls usable and avoid accidental selection on icons/buttons. */
html body a,
html body a *,
html body button,
html body button *,
html body input,
html body select,
html body textarea,
html body label,
html body summary,
html body .row-actions,
html body .row-actions *,
html body .refresh-progress,
html body .refresh-progress *,
html body .critical-plugin-checkgrid input,
html body .critical-plugin-checkgrid label,
html body .sort-link,
html body .sort-link *,
html body .button,
html body .button *{
    -webkit-user-select:auto !important;
    -moz-user-select:auto !important;
    -ms-user-select:auto !important;
    user-select:auto !important;
}


/* 1.6.12 Real text selection fix:
   The old JS mousedown preventDefault blocker was removed.
   This final override also reverses old no-select table/control rules where text is content,
   while keeping real row action icons and buttons non-text-oriented. */
.gemonio-click-safe .domain-table,
.gemonio-click-safe .domain-table tbody,
.gemonio-click-safe .domain-table tbody tr,
.gemonio-click-safe .domain-table tbody td,
.gemonio-click-safe .domain-table tbody td *,
.gemonio-click-boundary-fix .domain-table,
.gemonio-click-boundary-fix .domain-table tbody,
.gemonio-click-boundary-fix .domain-table tbody tr,
.gemonio-click-boundary-fix .domain-table tbody td,
.gemonio-click-boundary-fix .domain-table tbody td *,
.gemonio-click-boundary-fix .accordion-detail,
.gemonio-click-boundary-fix .accordion-detail *,
.gemonio-click-safe .accordion-detail,
.gemonio-click-safe .accordion-detail *{
    -webkit-user-select:text !important;
    -moz-user-select:text !important;
    -ms-user-select:text !important;
    user-select:text !important;
}

/* Keep compact action/icon controls clean. */
.gemonio-click-safe .row-actions,
.gemonio-click-safe .row-actions *,
.gemonio-click-boundary-fix .row-actions,
.gemonio-click-boundary-fix .row-actions *,
.gemonio-click-safe .js-refresh-progress,
.gemonio-click-boundary-fix .js-refresh-progress,
.gemonio-click-safe .button,
.gemonio-click-boundary-fix .button,
.gemonio-click-safe input,
.gemonio-click-boundary-fix input,
.gemonio-click-safe select,
.gemonio-click-boundary-fix select,
.gemonio-click-safe textarea,
.gemonio-click-boundary-fix textarea{
    -webkit-user-select:auto !important;
    -moz-user-select:auto !important;
    -ms-user-select:auto !important;
    user-select:auto !important;
}


/* 1.7.0 Incident / AKUT tier */
.health-dot.incident .health-dot-core{
    background:#111827 !important;
    box-shadow:0 0 0 3px rgba(180,35,24,.28),0 0 0 7px rgba(180,35,24,.12) !important;
}
.domain-table td:nth-child(3) .badge.status-health-incident,
.domain-table td:nth-child(3) span.badge.status-health-incident:not(.health-dot):not(.small){
    background:#111827 !important;
    color:#fff !important;
    border:1px solid #b42318 !important;
    letter-spacing:.02em;
}
.domain-table td:nth-child(3) .badge.status-health-incident *{
    color:#fff !important;
}
.domain-table tbody tr.incident-row,
.domain-table tbody tr.incident-row.service-row{
    background:#fff1f1 !important;
}
.domain-table tbody tr.incident-row:hover,
.domain-table tbody tr.incident-row.service-row:hover{
    background:#ffe4e4 !important;
}
.incident-warning-marker{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-left:6px;
    padding:4px 7px;
    border-radius:999px;
    background:#111827;
    color:#fff;
    border:1px solid #b42318;
    font-size:10px;
    font-weight:900;
    letter-spacing:.04em;
    line-height:1;
    vertical-align:middle;
}
.summary-strip.summary-strip-compact .summary-box.incident-summary{
    background:#111827;
    border-color:#b42318;
}
.summary-strip.summary-strip-compact .summary-box.incident-summary strong,
.summary-strip.summary-strip-compact .summary-box.incident-summary span{
    color:#fff !important;
}
.security-detail-card.security-card-incident{
    border-color:#b42318 !important;
    box-shadow:0 0 0 2px rgba(180,35,24,.12),0 12px 30px rgba(180,35,24,.12);
}
.incident-heading-badge{
    display:inline-flex;
    align-items:center;
    padding:3px 7px;
    border-radius:999px;
    background:#111827;
    color:#fff;
    border:1px solid #b42318;
    font-size:11px;
    font-weight:900;
    letter-spacing:.05em;
}
.incident-detail-alert{
    margin:12px 0 14px;
    padding:13px 14px;
    border-radius:12px;
    background:#fff1f1;
    border:1px solid #f1b4b4;
    color:#7f1d1d;
}
.incident-detail-alert strong{
    color:#7f1d1d;
}
.incident-detail-alert .description{
    color:#7f1d1d;
    opacity:.85;
}


/* 1.7.1 Warning color differentiation
   Normale Update-/kritische Warnungen klarer von AKUT/Malware trennen.
   AKUT bleibt schwarz/dunkelrot; Update-Risiko wird Amber/Gold. */

:root{
    --wsw-update-amber-bg:#fff4d6;
    --wsw-update-amber-border:#e4a11b;
    --wsw-update-amber-text:#7a4a00;
    --wsw-update-warn-bg:#fff8e8;
    --wsw-update-warn-border:#f1c86b;
    --wsw-update-warn-text:#7a5a16;
}

/* Kritisch/bad, aber nicht AKUT: Gold-/Amberton statt rotnah. */
.domain-table tbody tr:not(.incident-row) .badge.status-health-bad,
.domain-table tbody tr:not(.incident-row) .badge.health-bad,
.domain-table tbody tr:not(.incident-row) .status-bad,
.domain-table tbody tr:not(.incident-row) .health-badge.bad,
.badge.status-health-bad:not(.status-health-incident),
.badge.health-bad:not(.status-health-incident){
    background:var(--wsw-update-amber-bg) !important;
    color:var(--wsw-update-amber-text) !important;
    border:1px solid var(--wsw-update-amber-border) !important;
    box-shadow:none !important;
}

/* Normale kritische Update-Zeilen: warm, aber nicht rot. */
.domain-table tbody tr:not(.incident-row).warning-row,
.domain-table tbody tr:not(.incident-row).health-bad-row,
.domain-table tbody tr:not(.incident-row).critical-row{
    background:#fffaf0 !important;
}
.domain-table tbody tr:not(.incident-row).warning-row:hover,
.domain-table tbody tr:not(.incident-row).health-bad-row:hover,
.domain-table tbody tr:not(.incident-row).critical-row:hover{
    background:#fff3d1 !important;
}

/* Health-Dot bad für Updates: Amber-Ring statt rotnah. */
.health-dot.bad:not(.incident) .health-dot-core,
.health-dot.health-bad:not(.incident) .health-dot-core,
.health-dot.status-health-bad:not(.incident) .health-dot-core{
    background:var(--wsw-update-amber-border) !important;
    box-shadow:0 0 0 3px rgba(228,161,27,.22),0 0 0 7px rgba(228,161,27,.10) !important;
}

/* Warn-Level noch eine Stufe heller als kritische Updates. */
.domain-table tbody tr:not(.incident-row) .badge.status-health-warn,
.domain-table tbody tr:not(.incident-row) .badge.health-warn,
.badge.status-health-warn,
.badge.health-warn{
    background:var(--wsw-update-warn-bg) !important;
    color:var(--wsw-update-warn-text) !important;
    border:1px solid var(--wsw-update-warn-border) !important;
}

/* Update-Zähler/Update-Badges ebenfalls amber statt rotnah, sofern nicht AKUT. */
.domain-table tbody tr:not(.incident-row) .updates-badge,
.domain-table tbody tr:not(.incident-row) .update-badge,
.domain-table tbody tr:not(.incident-row) .badge.updates,
.domain-table tbody tr:not(.incident-row) .badge.update,
.domain-table tbody tr:not(.incident-row) .badge.update-warning{
    background:var(--wsw-update-amber-bg) !important;
    color:var(--wsw-update-amber-text) !important;
    border-color:var(--wsw-update-amber-border) !important;
}

/* AKUT bleibt dominant und wird von Update-Farben nicht übermalt. */
.domain-table tbody tr.incident-row .badge.status-health-incident,
.domain-table tbody tr.incident-row .incident-warning-marker,
.incident-warning-marker,
.incident-heading-badge{
    background:#111827 !important;
    color:#fff !important;
    border-color:#b42318 !important;
}
.domain-table tbody tr.incident-row{
    background:#fff1f1 !important;
}


/* 1.7.2 Update/Kritisch color model
   Updates = Orange, Punkt und Updates-Balken identisch.
   Kritisch = Rot.
   AKUT/Malware bleibt eigene dunkle Incident-Stufe. */

:root{
    --wsw-update-orange:#d97706;
    --wsw-update-orange-bg:#fff3df;
    --wsw-update-orange-soft:#f59e0b;
    --wsw-critical-red:#dc2626;
    --wsw-critical-red-bg:#fee2e2;
    --wsw-critical-red-text:#7f1d1d;
}

/* Update-Elemente: klar orange, nicht rotnah. */
.domain-table tbody tr:not(.incident-row) .updates-badge,
.domain-table tbody tr:not(.incident-row) .update-badge,
.domain-table tbody tr:not(.incident-row) .badge.updates,
.domain-table tbody tr:not(.incident-row) .badge.update,
.domain-table tbody tr:not(.incident-row) .badge.update-warning,
.domain-table tbody tr:not(.incident-row) .badge.status-update,
.domain-table tbody tr:not(.incident-row) .updates-pill,
.domain-table tbody tr:not(.incident-row) .update-pill{
    background:var(--wsw-update-orange-bg) !important;
    color:#783f04 !important;
    border-color:var(--wsw-update-orange) !important;
}

/* Falls Updates als Balken/Progress gerendert werden: gleicher Orangeton. */
.domain-table tbody tr:not(.incident-row) .updates-bar,
.domain-table tbody tr:not(.incident-row) .update-bar,
.domain-table tbody tr:not(.incident-row) .updates-bar-fill,
.domain-table tbody tr:not(.incident-row) .update-bar-fill,
.domain-table tbody tr:not(.incident-row) .bar-updates,
.domain-table tbody tr:not(.incident-row) .progress-updates{
    background:var(--wsw-update-orange) !important;
    border-color:var(--wsw-update-orange) !important;
}

/* Punktfarbe für Update-/Warnzustand: identisch Orange. */
.health-dot.warn:not(.incident) .health-dot-core,
.health-dot.health-warn:not(.incident) .health-dot-core,
.health-dot.status-health-warn:not(.incident) .health-dot-core,
.health-dot.notice:not(.incident) .health-dot-core,
.health-dot.health-notice:not(.incident) .health-dot-core,
.health-dot.status-health-notice:not(.incident) .health-dot-core{
    background:var(--wsw-update-orange) !important;
    box-shadow:0 0 0 3px rgba(217,119,6,.24),0 0 0 7px rgba(217,119,6,.11) !important;
}

/* Kritisch bleibt Rot, aber klar getrennt von Orange und von AKUT. */
.domain-table tbody tr:not(.incident-row) .badge.status-health-bad,
.domain-table tbody tr:not(.incident-row) .badge.health-bad,
.domain-table tbody tr:not(.incident-row) .status-bad,
.domain-table tbody tr:not(.incident-row) .health-badge.bad,
.badge.status-health-bad:not(.status-health-incident),
.badge.health-bad:not(.status-health-incident){
    background:var(--wsw-critical-red-bg) !important;
    color:var(--wsw-critical-red-text) !important;
    border:1px solid var(--wsw-critical-red) !important;
    box-shadow:none !important;
}

.health-dot.bad:not(.incident) .health-dot-core,
.health-dot.health-bad:not(.incident) .health-dot-core,
.health-dot.status-health-bad:not(.incident) .health-dot-core{
    background:var(--wsw-critical-red) !important;
    box-shadow:0 0 0 3px rgba(220,38,38,.23),0 0 0 7px rgba(220,38,38,.10) !important;
}

/* Kritische Zeilen: Rot-Hauch statt Orange-Hauch. */
.domain-table tbody tr:not(.incident-row).health-bad-row,
.domain-table tbody tr:not(.incident-row).critical-row{
    background:#fff5f5 !important;
}
.domain-table tbody tr:not(.incident-row).health-bad-row:hover,
.domain-table tbody tr:not(.incident-row).critical-row:hover{
    background:#feecec !important;
}

/* Normale Warn-/Update-Zeilen: Orange-Hauch. */
.domain-table tbody tr:not(.incident-row).warning-row:not(.health-bad-row):not(.critical-row){
    background:#fffaf0 !important;
}
.domain-table tbody tr:not(.incident-row).warning-row:not(.health-bad-row):not(.critical-row):hover{
    background:#fff2d6 !important;
}

/* AKUT bleibt dominant und eigenständig. */
.domain-table tbody tr.incident-row .badge.status-health-incident,
.domain-table tbody tr.incident-row .incident-warning-marker,
.incident-warning-marker,
.incident-heading-badge{
    background:#111827 !important;
    color:#fff !important;
    border-color:#b42318 !important;
}
.domain-table tbody tr.incident-row{
    background:#fff1f1 !important;
}
.health-dot.incident .health-dot-core{
    background:#111827 !important;
    box-shadow:0 0 0 3px rgba(180,35,24,.28),0 0 0 7px rgba(180,35,24,.12) !important;
}


/* 1.7.3 Wordfence severity alignment */
.wordfence-issue-item.is-medium{
    background:#fff8e8 !important;
    border-color:#f1c86b !important;
}
.wordfence-issue-item.is-medium .wordfence-severity-label{
    color:#9a5d00 !important;
}
.wordfence-issue-item.is-low{
    background:#f8fafc !important;
    border-color:#cbd5e1 !important;
}
.wordfence-issue-item.is-low .wordfence-severity-label{
    color:#475569 !important;
}
.wordfence-issue-item.is-critical,
.wordfence-issue-item.is-high{
    background:#fff1f1 !important;
    border-color:#efb5b5 !important;
}
.wordfence-issue-item.is-critical .wordfence-severity-label,
.wordfence-issue-item.is-high .wordfence-severity-label{
    color:#b91c1c !important;
}

/* 1.7.8 INCIDENT MAIL TRACE */
.incident-mail-trace{
    margin-top:16px;
    padding:16px;
    border:1px solid rgba(127,29,29,.22);
    border-radius:14px;
    background:rgba(255,255,255,.72);
    color:#3f1717;
}
.incident-mail-trace-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
}
.incident-mail-trace-head > strong{
    font-size:16px;
    color:#7f1d1d;
}
.incident-mail-status{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:4px 10px;
    border-radius:999px;
    border:1px solid #cbd5e1;
    background:#f8fafc;
    color:#334155;
    font-size:12px;
    font-weight:800;
    line-height:1.25;
    text-align:center;
}
.incident-mail-status.sent{
    border-color:#86d4a3;
    background:#ecfdf3;
    color:#166534;
}
.incident-mail-status.failed{
    border-color:#ef9a9a;
    background:#fff1f1;
    color:#991b1b;
}
.incident-mail-status.suppressed{
    border-color:#f2c66d;
    background:#fff8e8;
    color:#8a5600;
}
.incident-mail-status.disabled,
.incident-mail-status.pending{
    border-color:#cbd5e1;
    background:#f1f5f9;
    color:#475569;
}
.incident-mail-facts{
    margin:0;
    grid-template-columns:minmax(130px,180px) minmax(0,1fr);
}
.incident-mail-facts dt,
.incident-mail-facts dd{
    padding-top:5px;
    padding-bottom:5px;
}
.incident-mail-history{
    margin-top:12px;
    padding-top:10px;
    border-top:1px solid rgba(127,29,29,.16);
}
.incident-mail-history summary{
    cursor:pointer;
    font-weight:800;
    color:#7f1d1d;
}
.incident-mail-resend-form{
    margin-top:14px;
}
.incident-mail-resend-form .button.danger{
    background:#7f1d1d;
    border-color:#7f1d1d;
    color:#fff;
}
.incident-mail-settings-hint{
    margin-top:12px;
}
@media (max-width:720px){
    .incident-mail-trace-head{
        align-items:flex-start;
        flex-direction:column;
    }
    .incident-mail-facts{
        grid-template-columns:1fr;
    }
    .incident-mail-facts dt{
        padding-bottom:0;
    }
    .incident-mail-facts dd{
        padding-top:0;
        margin-bottom:6px;
    }
}

/* 1.8.0 Kunden & Servicepakete */
select,textarea{width:100%;padding:12px 13px;border:1px solid #cfd7de;border-radius:10px;font-size:15px;font:inherit;background:#fff;color:#15232b}
textarea{resize:vertical}
.service-pill.culture{background:#eee8fb;color:#56368a;border-color:#d6c8f2}
.service-pill.plus{background:#e4f1ff;color:#15558a;border-color:#bfdaf5}
.domain-table tbody tr.service-culture-row{background:#faf7ff}
.domain-table tbody tr.service-culture-row:hover{background:#f3edff}
.domain-table tbody tr.service-plus-row{background:#f3f9ff}
.domain-table tbody tr.service-plus-row:hover{background:#e7f3ff}
.accordion-detail.service-culture-row td{background:#fcfaff}
.accordion-detail.service-plus-row td{background:#f7fbff}
.summary-strip.summary-strip-compact .summary-box.culture{border-top:3px solid #8a6bb5}
.summary-strip.summary-strip-compact .summary-box.plus{border-top:3px solid #4e94c9}
.customer-summary{margin-bottom:18px}
.customer-import-card{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding:18px 22px}
.customer-import-card h2{margin:0 0 5px;font-size:18px}.customer-import-card p{margin:0}.customer-import-card form button{margin:0}
.customer-toolbar{align-items:center}.customer-search{display:flex;gap:8px;align-items:center;margin-left:auto}.customer-search input{min-width:280px;padding:9px 12px}.customer-search button{margin:0;padding:9px 13px}
.customer-table{width:100%;border-collapse:collapse}.customer-table th{background:#eef3f6;text-align:left;font-size:13px;color:#4d5961;padding:12px;border-bottom:1px solid #dfe5ea}.customer-table td{padding:13px 12px;border-bottom:1px solid #edf1f4;vertical-align:middle}.customer-table tr.is-archived{opacity:.64}.customer-name-link{font-weight:800;color:#123849;text-decoration:none}.customer-name-link:hover{text-decoration:underline}.customer-folder{font-size:12px;color:#79838a;margin-top:4px}.customer-status{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800}.customer-status.active{background:#e7f7ed;color:#096b2d}.customer-status.archived{background:#eef1f3;color:#5e6870}.customer-edit-button{margin-left:0!important;white-space:nowrap}
.customer-sort-link{display:inline-flex;align-items:center;color:inherit;text-decoration:none;white-space:nowrap}.customer-sort-link:hover,.customer-sort-link.active{color:#123849;text-decoration:underline;text-underline-offset:3px}
.customer-form-card{margin-bottom:18px}.customer-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.customer-form label{margin-top:12px}.field-help{display:block;font-size:12px;font-weight:400;color:#6a737b;margin-top:5px}.form-actions{display:flex;gap:8px;align-items:center}.form-actions .button{margin-top:16px}
.customer-sites-card{margin-top:18px}.customer-sites-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.customer-sites-head h2{margin-top:0}.customer-site-list{width:100%;border-collapse:collapse;margin-top:12px}.customer-site-list th,.customer-site-list td{text-align:left;padding:10px;border-bottom:1px solid #edf1f4;vertical-align:middle}.customer-site-list .button{margin-left:0!important;white-space:nowrap}
@media(max-width:800px){.customer-import-card,.customer-sites-head{display:block}.customer-import-card form{margin-top:14px}.customer-form-grid{grid-template-columns:1fr}.customer-search{width:100%;margin-left:0}.customer-search input{min-width:0}.customer-table-card{overflow:auto}.customer-table{min-width:900px}}


/* Kundenimport aus Rechnungs-PDF, Monitor 1.8.2 */
.customer-pdf-import-card{max-width:900px}
.customer-pdf-upload-form{display:grid;gap:18px;margin-top:18px}
.customer-pdf-upload-form label{display:grid;gap:8px;font-weight:700}
.customer-pdf-upload-form input[type=file]{padding:14px;border:1px dashed #aeb9c7;border-radius:12px;background:#f8fafc}
.customer-pdf-parser-status{margin-top:18px;padding:12px 14px;border-radius:10px;background:#f3f6f8;color:#475569;font-size:13px}
.customer-pdf-preview-card{border-left:5px solid #286a55;background:linear-gradient(135deg,#f7fbf9,#fff)}
.customer-pdf-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.customer-pdf-preview-head h2{margin-top:0}
.customer-pdf-preview-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#dcefe8;color:#245845;font-size:12px;font-weight:800;white-space:nowrap}
.customer-pdf-recipient{display:inline-block;margin:8px 0 12px;padding:12px 14px;border:1px solid #d8e4df;border-radius:10px;background:#fff;line-height:1.55}
.customer-pdf-detected-meta{color:#475569}
.customer-pdf-warnings{margin-top:12px;padding:12px 14px;border-radius:10px;background:#fff6dc;color:#6b4f00}
.customer-pdf-warnings ul{margin:7px 0 0 20px}
.customer-pdf-duplicate{margin:12px 0}
@media(max-width:720px){.customer-pdf-preview-head{display:block}.customer-pdf-preview-badge{margin-top:8px}.title-actions{flex-wrap:wrap}}

/* 1.8.4: semantic username field for password managers, hidden visually. */
.wsw-autofill-username {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}


/* 1.8.5 – Vertrags- und Verrechnungsdaten */
.billing-fieldset {
    margin: 24px 0;
    padding: 18px;
    border: 1px solid var(--border, #d9dde3);
    border-radius: 12px;
    background: rgba(247, 248, 250, .72);
}
.billing-fieldset legend {
    padding: 0 8px;
    font-weight: 700;
}
.billing-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px 18px;
    margin-top: 14px;
}
.billing-year-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}
.billing-due-output {
    display: flex;
    align-items: center;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid var(--border, #d9dde3);
    border-radius: 8px;
    background: #fff;
    font-weight: 700;
}
.customer-site-list td:nth-child(4),
.customer-site-list td:nth-child(5) {
    white-space: nowrap;
}
@media (max-width: 900px) {
    .billing-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
    .billing-grid { grid-template-columns: 1fr; }
}

/* 1.8.6 - Verträge und Rechnungen im Kundenbereich */
.contract-moved-notice{margin:18px 0;background:#f3f7fa;border:1px solid #d7e2ea;color:#29404d}
.billing-customer-card{margin-top:18px}
.billing-row-actions{display:flex;flex-wrap:wrap;gap:7px}.billing-row-actions .button{margin:0!important}
.contract-status,.invoice-status{display:inline-flex;margin-top:6px;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800}
.contract-active,.invoice-paid{background:#e5f6eb;color:#116530}.contract-paused,.invoice-draft{background:#fff3cd;color:#715400}.contract-ended,.invoice-cancelled{background:#edf0f2;color:#59646b}.invoice-sent{background:#e7f1ff;color:#185b91}
.contract-form-card,.invoice-settings-card{max-width:1050px}.contract-site-summary{display:flex;flex-direction:column;gap:4px;padding:14px 16px;margin-bottom:18px;border-radius:11px;background:#f4f7f9}.contract-site-summary span{color:#64717a}
.invoice-edit-card{max-width:1250px}.invoice-form-columns{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.8fr);gap:30px}.invoice-form-columns h2{margin-top:0}.invoice-live-summary{display:grid;gap:7px;margin-top:18px;padding:16px;border-radius:11px;background:#f3f7fa}.invoice-live-summary output{font-size:18px;font-weight:800}.invoice-live-summary span{color:#69757d}
.invoice-assets-fieldset{margin:22px 0;padding:18px;border:1px solid #d9e0e5;border-radius:12px}.invoice-assets-fieldset legend{font-weight:800;padding:0 8px}
.invoice-list td{vertical-align:top}
@media(max-width:980px){.invoice-form-columns{grid-template-columns:1fr}.customer-site-list{min-width:980px}.billing-customer-card{overflow:auto}}

/* Billing 1.8.7 */
.field-hint{display:block;margin-top:5px;color:#6b7280;font-size:12px;line-height:1.35;font-weight:400}.qr-button{white-space:nowrap}.error-list{margin:0;padding-left:20px}.error-list li{margin:7px 0}.invoice-settings-card fieldset{margin-top:20px}

/* 1.8.8: Sammelrechnungen */
.bulk-invoice-intro,
.bulk-invoice-toolbar,
.bulk-invoice-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}
.bulk-year-form {
    display: flex;
    align-items: end;
    gap: 10px;
}
.bulk-year-form label {
    margin: 0;
}
.bulk-year-form input {
    width: 110px;
}
.bulk-invoice-card {
    overflow-x: auto;
}
.bulk-invoice-toolbar {
    padding: 16px 18px;
    border-bottom: 1px solid var(--border, #d9dee7);
}
.bulk-invoice-toolbar > div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.bulk-invoice-table .bulk-check {
    width: 42px;
    text-align: center;
}
.bulk-invoice-table .bulk-check input {
    width: 18px;
    height: 18px;
}
.bulk-invoice-table .bulk-row-blocked {
    opacity: .68;
}
.bulk-invoice-actions {
    padding: 18px;
    border-top: 1px solid var(--border, #d9dee7);
}
.bulk-invoice-actions .field-hint {
    max-width: 720px;
}
@media (max-width: 850px) {
    .bulk-invoice-intro,
    .bulk-invoice-toolbar,
    .bulk-invoice-actions,
    .bulk-year-form {
        align-items: stretch;
        flex-direction: column;
    }
    .bulk-year-form input {
        width: 100%;
    }
}


/* 1.8.9: robuste Sammelauswahl */
.bulk-checkbox-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    min-height: 32px;
    cursor: pointer;
}
.bulk-checkbox-label:has(input:disabled) {
    cursor: not-allowed;
}
.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* 1.8.10 Fox logo restored in the main monitor header */
.topbar-brand{
    display:flex;
    align-items:center;
    gap:10px;
}
.topbar-fox{
    display:block;
    width:38px;
    height:38px;
    object-fit:contain;
    flex:0 0 auto;
}
.topbar-brand > div{
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
}
@media(max-width:760px){
    .topbar-brand{margin-bottom:10px}
}

/* 1.8.14: Rechnungsnummern und löschbare Testrechnungen */
.inline-action-form {
  display: inline-flex;
  margin: 0;
}
.invoice-number-reset {
  align-self: end;
  display: flex;
  align-items: end;
}
.invoice-delete-form {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(18, 56, 73, 0.14);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

/* 1.8.15: Sammellöschung kollidierender Testrechnungen */
.bulk-collision-card {
  margin-bottom: 18px;
  border-color: rgba(165, 36, 36, 0.28);
  background: #fffafa;
}
.bulk-collision-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}
.bulk-collision-heading h2 {
  margin: 0 0 6px;
}
.bulk-collision-heading p {
  margin: 0;
  color: #6a4a4a;
}
.bulk-collision-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  height: 46px;
  padding: 0 12px;
  border-radius: 999px;
  background: #fde8e8;
  color: #9f1f1f;
  font-size: 18px;
  font-weight: 800;
}
.bulk-collision-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
  gap: 8px 18px;
  margin: 18px 0;
  padding: 0;
  list-style: none;
}
.bulk-collision-list li {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 10px;
  align-items: baseline;
  padding: 9px 11px;
  border: 1px solid rgba(165, 36, 36, 0.14);
  border-radius: 10px;
  background: #fff;
}
.bulk-collision-list li span {
  color: #58656d;
  overflow-wrap: anywhere;
}
.bulk-collision-delete-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid rgba(165, 36, 36, 0.16);
}
.bulk-collision-delete-form button {
  margin-top: 0;
}
@media (max-width: 700px) {
  .bulk-collision-heading {
    align-items: stretch;
    flex-direction: column;
  }
  .bulk-collision-count {
    align-self: flex-start;
  }
}

/* 1.9.0: two workspaces and Gemonio Faktura pilot */
.topbar{
    flex-wrap:wrap;
}
.workspace-switch{
    display:inline-flex;
    align-items:center;
    gap:4px;
    padding:4px;
    border:1px solid rgba(255,255,255,.22);
    border-radius:12px;
    background:rgba(255,255,255,.07);
}
.topbar .workspace-switch a{
    margin:0;
    padding:7px 11px;
    border-radius:8px;
    font-weight:800;
    opacity:.72;
}
.topbar .workspace-switch a.active{
    background:#fff;
    color:#123849;
    opacity:1;
}
.workspace-nav{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.faktura-main-nav{
    gap:2px;
}
.nav-dropdown{
    position:relative;
}
.nav-dropdown summary{
    display:flex;
    align-items:center;
    gap:5px;
    padding:8px 10px;
    color:#fff;
    font-weight:700;
    cursor:pointer;
    list-style:none;
    border-radius:8px;
}
.nav-dropdown summary::-webkit-details-marker{
    display:none;
}
.nav-dropdown summary:hover,
.nav-dropdown[open] summary,
.nav-dropdown[data-current="true"] summary{
    background:rgba(255,255,255,.12);
}
.nav-dropdown summary span{
    font-size:10px;
    transition:transform .15s ease;
}
.nav-dropdown[open] summary span{
    transform:rotate(180deg);
}
.nav-submenu{
    display:none;
    position:absolute;
    z-index:100;
    top:100%;
    left:0;
    min-width:210px;
    padding:6px;
    border:1px solid #dce4e8;
    border-radius:10px;
    background:#fff;
    box-shadow:0 12px 28px rgba(13,39,52,.2);
}
.nav-dropdown[open] .nav-submenu,
.nav-dropdown:hover .nav-submenu{
    display:grid;
}
.topbar .nav-submenu a{
    margin:0;
    padding:9px 11px;
    color:#243b47;
    border-radius:7px;
    white-space:nowrap;
}
.topbar .nav-submenu a:hover{
    color:#123849;
    background:#eef4f6;
}
.customer-status.dormant{
    background:#fff4d7;
    color:#835400;
}
.customer-table tr.is-dormant{
    background:#fffdf7;
}
.faktura-dashboard-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    margin-bottom:18px;
}
.faktura-dashboard-grid .card{
    min-width:0;
}
.faktura-steps{
    display:grid;
    gap:13px;
    margin:18px 0 0;
    padding:0;
    list-style:none;
    counter-reset:faktura-step;
}
.faktura-steps li{
    display:grid;
    grid-template-columns:32px 1fr;
    gap:10px;
    align-items:start;
    counter-increment:faktura-step;
}
.faktura-steps li::before{
    content:counter(faktura-step);
    display:flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    border-radius:999px;
    background:#e9eef2;
    color:#123849;
    font-weight:900;
}
.faktura-steps strong,
.faktura-steps span{
    grid-column:2;
}
.faktura-steps span{
    color:#6a737b;
    margin-top:-8px;
}
.faktura-filter form{
    display:grid;
    grid-template-columns:minmax(180px,.7fr) minmax(240px,1.3fr) auto;
    gap:14px;
    align-items:end;
}
.faktura-filter label,
.faktura-filter button{
    margin:0;
}
.faktura-calculation{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin:20px 0 6px;
    padding:15px 17px;
    border-radius:13px;
    background:#eef3f6;
}
.faktura-calculation strong{
    font-size:21px;
}
.faktura-position-table td:nth-child(4){
    min-width:330px;
}
.faktura-position-table input[type="checkbox"]{
    width:auto;
}
.faktura-draft-actions{
    padding:18px 20px;
    border-top:1px solid #edf1f4;
}
.faktura-invoice-items{
    display:grid;
    gap:14px;
}
.faktura-invoice-items fieldset{
    border:1px solid #dfe5ea;
    border-radius:14px;
    padding:16px;
}
.faktura-invoice-items legend{
    padding:0 7px;
    font-weight:800;
    color:#34434d;
}
.faktura-finalize-card{
    margin-top:18px;
    border-color:#b9e7ca;
    background:#fbfffc;
}
.pdf-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:18px;
}
.pdf-actions button{
    margin:0;
}
@media(max-width:980px){
    .workspace-switch{
        order:3;
    }
    .workspace-nav{
        flex-basis:100%;
        justify-content:flex-start;
    }
    .faktura-dashboard-grid{
        grid-template-columns:1fr;
    }
    .faktura-filter form{
        grid-template-columns:1fr;
    }
    .faktura-filter button{
        justify-self:start;
    }
}
@media(max-width:760px){
    .workspace-switch{
        margin-top:10px;
    }
    .topbar .workspace-nav{
        margin-top:10px;
    }
    .faktura-main-nav{
        align-items:stretch;
    }
    .nav-dropdown{
        width:100%;
    }
    .nav-dropdown summary{
        justify-content:space-between;
    }
    .nav-submenu{
        position:static;
        min-width:0;
        margin-top:4px;
        box-shadow:none;
    }
}

/* Gemonio Faktura 1.9.2: durchsuchbare Kundenwahl bei der Aufwandserfassung */
.faktura-customer-field{grid-column:1/-1;margin-top:12px}
.faktura-customer-picker{margin-top:6px}
.faktura-customer-picker.is-enhanced>.faktura-customer-native{display:none}
.faktura-customer-enhanced{border:1px solid #dfe6eb;border-radius:14px;background:#f8fafb;padding:15px}
.faktura-customer-search-row label{margin:0}
.faktura-customer-search-row input{width:100%;font-size:16px;padding:11px 13px}
.faktura-customer-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}
.faktura-customer-filter-grid label{margin:0;font-size:12px;color:#65717a}
.faktura-customer-filter-grid select{margin-top:4px;width:100%;padding:8px 9px;font-size:14px}
.faktura-customer-selected{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;margin-top:12px;padding:10px 12px;border:1px dashed #cfd8de;border-radius:11px;color:#6b757d;background:#fff}
.faktura-customer-selected.has-selection{border-style:solid;border-color:#94b7c8;background:#eef7fa;color:#173b4c}
.faktura-customer-selected.is-error{border-color:#c84a4a;background:#fff0f0;color:#9b2424}
.faktura-customer-selected div{display:flex;flex-direction:column;gap:2px}
.faktura-customer-selected strong{font-size:15px}
.faktura-customer-selected span{font-size:12px;color:#64727a}
.faktura-customer-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;font-size:13px;color:#65717a}
.faktura-customer-result-head .button.small{margin:0;padding:6px 9px;font-size:12px}
.faktura-customer-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:340px;overflow:auto;margin-top:8px;padding-right:3px}
.faktura-customer-result{display:flex;flex-direction:column;gap:4px;width:100%;margin:0;padding:10px 11px;border:1px solid #dfe6eb;border-radius:10px;background:#fff;color:#26343c;text-align:left;cursor:pointer}
.faktura-customer-result:hover{border-color:#8bb0c1;background:#f5fafc}
.faktura-customer-result.is-selected{border-color:#1d718f;background:#e9f6fa;box-shadow:inset 3px 0 0 #1d718f}
.faktura-customer-result-top{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.faktura-customer-result-top strong{font-size:14px;line-height:1.25}
.faktura-customer-result-top>span{font-size:12px;font-weight:800;color:#49606c;white-space:nowrap}
.faktura-customer-result-meta{font-size:11px;line-height:1.35;color:#68747c}
.faktura-customer-empty,.faktura-customer-more{grid-column:1/-1;margin:0;padding:14px;border:1px dashed #d4dce1;border-radius:10px;background:#fff;color:#68747c;font-size:13px}
@media(max-width:900px){.faktura-customer-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.faktura-customer-filter-grid,.faktura-customer-results{grid-template-columns:1fr}.faktura-customer-results{max-height:420px}}

/* Gemonio Faktura 1.9.14: Suche in Aufwänden */
.faktura-filter form{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.faktura-filter .faktura-search-field{grid-column:span 2}
.faktura-filter-actions{display:flex;align-items:end;flex-wrap:wrap;gap:8px}
.faktura-filter-actions .button{margin:0}
.faktura-search-summary{margin:12px 0 0}
@media(max-width:980px){
    .faktura-filter .faktura-search-field{grid-column:1/-1}
}

/* Gemonio Faktura 1.9.3: Schweizer Dezimalpunkt und Viertelstunden */
.faktura-decimal-control{display:grid;gap:7px;margin-top:6px}
.faktura-decimal-control>input{margin-top:0;width:100%;font-variant-numeric:tabular-nums}
.faktura-quantity-steps{display:flex;flex-wrap:wrap;gap:5px}
.faktura-quantity-steps[hidden]{display:none}
.faktura-quantity-steps button{margin:0;padding:5px 8px;border:1px solid #cad7dd !important;border-radius:8px;background:#fff !important;color:#214452 !important;box-shadow:none !important;font-size:12px;font-weight:700;cursor:pointer}
.faktura-quantity-steps button:hover,.faktura-quantity-steps button:focus-visible{border-color:#8bb0c1 !important;background:#edf6f9 !important;color:#173b4c !important}
/* Automatisch eingeblendete Faktura-Vorschau, Monitor 1.9.26 */
.faktura-auto-preview-card{padding-bottom:18px}
.faktura-auto-preview-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}
.faktura-auto-preview-heading h2{margin:0}
.faktura-auto-preview{display:block;width:100%;height:820px;border:1px solid #dce3e7;border-radius:12px;background:#68747c}
@media(max-width:720px){.faktura-auto-preview-heading{display:block}.faktura-auto-preview-heading .field-hint{display:block;margin-top:5px}.faktura-auto-preview{height:620px}}

/* Faktura 1.9.27: Rechnungszeitraum und Rechnungssumme */
.faktura-invoice-filter{margin-bottom:18px}
.faktura-invoice-filter form{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr)) auto;gap:12px;align-items:end}
.faktura-invoice-filter label{margin:0}
.faktura-invoice-summary strong{font-size:21px}
.faktura-invoice-empty{padding:22px;margin:0}
@media(max-width:900px){.faktura-invoice-filter form{grid-template-columns:repeat(2,minmax(170px,1fr))}.faktura-invoice-filter .faktura-filter-actions{grid-column:1/-1}}
@media(max-width:560px){.faktura-invoice-filter form{grid-template-columns:1fr}}

/* Faktura 1.9.31: kompakte Rechnungsnummer mit Revision */
.faktura-invoice-table .faktura-invoice-number-cell{white-space:nowrap;min-width:285px}
.faktura-invoice-revision{display:inline;margin-left:8px;color:#68747c;font-size:12px;font-weight:500;vertical-align:baseline}
.faktura-invoice-table .faktura-invoice-position-count{width:1%;white-space:nowrap}

/* Faktura 1.9.33: straffere Rechnungsübersicht */
.faktura-invoice-table{font-size:13px}
.faktura-invoice-table th{font-size:12px}
.faktura-invoice-table th:nth-child(2),
.faktura-invoice-table td:nth-child(2){width:1%;min-width:0;white-space:nowrap}
.faktura-invoice-table th:nth-child(3),
.faktura-invoice-table td:nth-child(3){white-space:nowrap}
.faktura-invoice-table th:nth-child(5),
.faktura-invoice-table td:nth-child(5){width:1%;white-space:nowrap}
.faktura-invoice-table .faktura-invoice-revision{font-size:11px}
.historical-preview-table{font-size:.78rem;min-width:1320px}
.historical-preview-table input[type="text"],.historical-preview-table input[type="date"],.historical-preview-table input[type="number"]{min-width:105px;padding:7px 8px;font-size:.78rem}
.historical-preview-table td:nth-child(2){min-width:260px}
.historical-preview-table td:nth-child(6){min-width:210px}
.historical-warning{display:block;margin-top:5px;color:#9a5b18;font-size:.72rem;line-height:1.3}
.historical-warning-row{background:#fffaf0}
.invoice-journal-print-title{display:none}
.invoice-journal .amount{text-align:right;white-space:nowrap}
.invoice-journal .invoice-journal-legacy-row td{background:#fff1f1}
.invoice-journal .invoice-journal-legacy-row td:first-child{box-shadow:inset 3px 0 0 #cf7777}
.invoice-journal-totals{
  width:min(100%,560px);
  margin:18px 18px 18px auto;
  overflow:hidden;
  border:1px solid #d9e1e6;
  border-radius:12px;
  background:#fff;
  color:#43515a;
}
.invoice-journal-total-detail,
.invoice-journal-total-grand{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:baseline;
  gap:28px;
  padding:9px 16px;
}
.invoice-journal-total-detail + .invoice-journal-total-detail{
  border-top:1px solid #edf1f3;
}
.invoice-journal-total-detail span{
  color:#66737b;
  font-size:.84rem;
}
.invoice-journal-total-detail strong{
  color:#3e4b53;
  font-size:.9rem;
  font-weight:650;
  white-space:nowrap;
}
.invoice-journal-total-grand{
  margin-top:2px;
  padding:13px 16px;
  border-top:2px solid #263943;
  background:#edf3f6;
  color:#263943;
}
.invoice-journal-total-grand span{
  font-size:.9rem;
  font-weight:750;
}
.invoice-journal-total-grand strong{
  font-size:1.08rem;
  font-weight:800;
  white-space:nowrap;
}
@media(max-width:640px){
  .invoice-journal-totals{
    width:auto;
    margin:14px;
  }
  .invoice-journal-total-detail,
  .invoice-journal-total-grand{
    gap:14px;
    padding-left:13px;
    padding-right:13px;
  }
}
@media print{
  body{background:#fff}
  .topbar,.footer,.invoice-journal-controls,.invoice-journal-summary{display:none!important}
  main.container{max-width:none;margin:0;padding:0}
  .invoice-journal{box-shadow:none;border:0;padding:0}
  .invoice-journal-print-title{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:18px}
  .invoice-journal-print-title h2,.invoice-journal-print-title p{margin:0}
  .invoice-journal table{font-size:9.5pt}
  .invoice-journal .customer-table th,.invoice-journal .customer-table td{padding:6px 8px}
  .invoice-journal-totals{break-inside:avoid;margin:14px 0 0 auto}
}

/* Faktura 1.9.40 final overrides */
.topbar{position:relative;z-index:1000}
.topbar .nav-dropdown{z-index:1100}
.topbar .nav-submenu{z-index:1100}
.faktura-invoice-overview-title{align-items:flex-start}
.faktura-invoice-overview-title .title-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:690px}
.faktura-invoice-overview-title .title-actions .button{margin:0;padding:8px 10px;font-size:13px;line-height:1.15;white-space:nowrap}
@media(max-width:980px){
  .faktura-invoice-overview-title{display:block}
  .faktura-invoice-overview-title .title-actions{justify-content:flex-start;margin-top:12px;max-width:none}
}

/* Faktura 1.9.41: Aktionsbereich vom Rechnungs-Untermenü fernhalten */
.faktura-invoice-overview-title{
  display:block;
}
.faktura-invoice-overview-title .title-actions{
  justify-content:flex-start;
  margin-top:12px;
  max-width:none;
  padding-right:240px;
}
.historical-maintenance-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin:10px 0 16px;
}
.historical-maintenance-actions form,
.historical-maintenance-actions button{
  margin:0;
}
@media(max-width:980px){
  .faktura-invoice-overview-title .title-actions{padding-right:0}
}

/* Faktura 1.9.42: Rechnungsaktionen bleiben vollständig links vom Untermenü */
.topbar{
  isolation:isolate;
}
.topbar .workspace-nav,
.topbar .nav-dropdown,
.topbar .nav-submenu{
  position:relative;
  z-index:1200;
}
.topbar .nav-submenu{
  position:absolute;
}
.faktura-invoice-overview-title .title-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  width:max-content;
  max-width:100%;
  padding-right:0;
  gap:5px;
}
.faktura-invoice-overview-title .title-actions .button,
.faktura-invoice-overview-title .title-actions .button.secondary{
  width:auto;
  margin:0;
}

/* Faktura 1.9.43: Navigation und Seitenaktionen nicht doppelt anbieten */
.faktura-invoice-overview-title{
  display:flex;
  align-items:flex-start;
  gap:20px;
}
.faktura-invoice-overview-title > div:first-child{
  min-width:0;
  flex:1 1 auto;
}
.faktura-invoice-overview-title .title-actions{
  display:flex;
  flex:0 0 auto;
  width:auto;
  margin:0;
  padding:0;
}
.faktura-invoice-overview-title .title-actions .button{
  width:auto;
  white-space:nowrap;
}
@media(max-width:760px){
  .faktura-invoice-overview-title{
    display:block;
  }
  .faktura-invoice-overview-title .title-actions{
    margin-top:12px;
  }
}

/* Faktura 1.9.44: Dropdown sicher vor den alten Click-Boundary-Ebenen */
.topbar{
  position:relative !important;
  z-index:100000 !important;
  overflow:visible !important;
  isolation:auto !important;
}
.topbar .workspace-nav,
.topbar .nav-dropdown{
  position:relative !important;
  z-index:100001 !important;
  overflow:visible !important;
}
.topbar .nav-submenu{
  position:absolute !important;
  z-index:100002 !important;
  overflow:visible !important;
  pointer-events:auto !important;
}
.topbar .nav-submenu a{
  position:relative !important;
  z-index:100003 !important;
  pointer-events:auto !important;
}
main.container{
  position:relative;
  z-index:0;
}

/* 2.0.16 Forms-inspired Cockpit polish + verified backup/storage states */
:root{
  --cockpit-orange:#ef7622;
  --cockpit-orange-dark:#b94b0c;
  --cockpit-blue:#4059e8;
  --cockpit-ink:#20242b;
  --cockpit-muted:#667085;
  --cockpit-line:#d9dee7;
  --cockpit-soft:#f7f8fa;
}
body{
  background:var(--cockpit-soft);
  color:var(--cockpit-ink);
}
.topbar{
  background:var(--cockpit-ink) !important;
  border-bottom:3px solid var(--cockpit-orange);
}
.card,
.table-card,
.summary-strip div{
  border-color:var(--cockpit-line);
  border-radius:11px;
  box-shadow:0 1px 2px rgba(16,24,40,.04);
}
.button:not(.danger):not(.secondary):not(.success),
button:not(.danger):not(.secondary):not(.success){
  background:var(--cockpit-blue);
}
.button:focus-visible,
button:focus-visible,
a:focus-visible{
  outline:2px solid var(--cockpit-orange);
  outline-offset:2px;
}
.toolbar a.active{
  background:var(--cockpit-ink);
  border-color:var(--cockpit-ink);
}
.domain-table th{
  background:#f2f4f7;
  color:#515866;
}
.domain-table tbody tr:hover{
  background:#fafbfc;
}
.backup-icon-badge{
  position:relative;
  overflow:visible;
}
.backup-icon-badge.backup-failed,
.backup-icon-badge.backup-overdue,
.backup-icon-badge.backup-unconfigured,
.backup-icon-badge.backup-unverified{
  min-width:30px;
  min-height:30px;
  padding:4px !important;
  border-radius:9px;
}
.backup-icon-badge.backup-failed{
  background:#fff0ef;
  border:1px solid #f4b8b3;
  box-shadow:0 0 0 2px rgba(180,35,24,.08);
}
.backup-icon-badge.backup-overdue{
  background:#fff7e8;
  border:1px solid #f0ce8d;
  box-shadow:0 0 0 2px rgba(239,118,34,.08);
}
.backup-icon-badge.backup-unconfigured,
.backup-icon-badge.backup-unverified{
  background:#fffaeb;
  border-color:#fedf89;
}
.backup-icon-badge.backup-unconfigured .backup-provider-icon,
.backup-icon-badge.backup-unverified .backup-provider-icon{
  filter:sepia(.15) saturate(.75);
}
.backup-icon-badge.backup-failed .backup-provider-icon{
  filter:saturate(.25) contrast(.92);
}
.backup-icon-badge.backup-overdue .backup-provider-icon{
  filter:saturate(.55);
}
.backup-icon-alert{
  align-items:center;
  background:#b42318;
  border:2px solid #fff;
  border-radius:999px;
  color:#fff;
  display:flex;
  font-size:10px;
  font-weight:900;
  height:17px;
  justify-content:center;
  line-height:1;
  position:absolute;
  right:-7px;
  top:-7px;
  width:17px;
  z-index:2;
}
.backup-icon-alert.backup-icon-clock{
  background:var(--cockpit-orange);
}
.backup-local-alert{
  align-items:center;
  background:#ef7622;
  border:2px solid #fff;
  border-radius:999px;
  bottom:-7px;
  color:#fff;
  display:flex;
  font-size:8px;
  font-weight:900;
  height:17px;
  justify-content:center;
  line-height:1;
  position:absolute;
  right:-7px;
  width:17px;
  z-index:2;
}
.backup-detail-failed{
  color:#912018;
  background:#fff0ef;
  border:1px solid #f4b8b3;
}
.backup-detail-overdue{
  color:#925b17;
  background:#fff7e8;
  border:1px solid #f0ce8d;
}
.backup-detail-unconfigured,
.backup-detail-unverified{
  color:#b54708;
  background:#fffaeb;
  border-color:#fedf89;
}
.faktura-draft-position-tools{
  margin:22px 0 4px;
  padding:18px;
  border:1px solid var(--cockpit-border,#dfe3e8);
  border-radius:12px;
  background:#fafbfc;
}
.faktura-draft-position-tools h3{margin-top:0;}
.faktura-draft-position-tools .form-check{margin:10px 0;}
.faktura-remove-item{
  margin-top:12px;
  color:#b42318;
}

/* Faktura 2.0.17: klar gegliederte, helle Rechnungspositionen */
.faktura-invoice-items{
  display:grid;
  gap:20px;
}
.faktura-invoice-items .faktura-invoice-item-card{
  min-width:0;
  margin:0;
  padding:0 18px 18px;
  border:1px solid #ccd7de;
  border-radius:14px;
  background:#fff;
  box-shadow:0 3px 12px rgba(20,35,45,.05);
  overflow:hidden;
}
.faktura-invoice-items .faktura-invoice-item-card > legend{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  align-items:center;
  gap:12px;
  width:calc(100% + 36px);
  max-width:none;
  margin:0 -18px 16px;
  padding:12px 18px;
  border-bottom:1px solid #dfe6eb;
  background:#f3f7f9;
  color:#1d303a;
}
.faktura-position-number{
  display:inline-flex;
  padding:5px 9px;
  border:1px solid #bad0da;
  border-radius:999px;
  background:#e8f2f6;
  color:#174d63;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.faktura-position-summary{
  min-width:0;
  overflow:hidden;
  color:#485a64;
  font-size:13px;
  font-weight:600;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.faktura-position-amount{
  color:#172b35;
  font-size:14px;
  white-space:nowrap;
}
.faktura-invoice-item-card label{
  color:#344750;
}
.faktura-invoice-item-card input:not([type="checkbox"]):not([type="radio"]),
.faktura-invoice-item-card select,
.faktura-invoice-item-card textarea{
  border:1px solid #cbd6dc !important;
  background:#fff !important;
  color:#172b35 !important;
  box-shadow:none !important;
}
.faktura-invoice-item-card input:disabled,
.faktura-invoice-item-card select:disabled,
.faktura-invoice-item-card textarea:disabled,
.faktura-invoice-item-card textarea[readonly]{
  border-color:#dce3e7 !important;
  background:#f4f6f7 !important;
  color:#586770 !important;
  opacity:1;
}
.faktura-invoice-item-card input:focus,
.faktura-invoice-item-card select:focus,
.faktura-invoice-item-card textarea:focus{
  border-color:#5e93aa !important;
  outline:3px solid rgba(54,126,155,.16);
}
.faktura-invoice-item-card .field-hint{
  color:#687780;
}
.faktura-invoice-item-card .faktura-quantity-steps button{
  border-color:#cad7dd !important;
  background:#fff !important;
  color:#214452 !important;
  box-shadow:none !important;
}
.faktura-invoice-item-card .faktura-quantity-steps button:hover,
.faktura-invoice-item-card .faktura-quantity-steps button:focus-visible{
  border-color:#8bb0c1 !important;
  background:#edf6f9 !important;
  color:#173b4c !important;
}
@media(max-width:720px){
  .faktura-invoice-items .faktura-invoice-item-card > legend{
    grid-template-columns:1fr auto;
  }
  .faktura-position-summary{
    grid-column:1/-1;
    grid-row:2;
    white-space:normal;
  }
}

/* Faktura 1.9.52: Rechnungsbereich optisch von Kunden trennen */
.faktura-main-nav > .nav-dropdown{
  margin-left:14px;
}
@media(max-width:760px){
  .faktura-main-nav > .nav-dropdown{
    margin-left:0;
  }
}
.gemonio-cell-status{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.gemonio-core-signal{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:7px;border:1px solid #d8e0e6;background:#f2f4f6;box-sizing:border-box;vertical-align:middle}
.gemonio-core-signal img{display:block;width:19px;height:19px;object-fit:contain}
.gemonio-core-signal.active{background:#fff3ea;border-color:#efb27d}
.gemonio-core-signal.inactive{background:#fff3d5;border-color:#e8c66a;filter:saturate(.55)}
.gemonio-core-signal.missing{opacity:.3;filter:grayscale(1)}

/* Faktura 2.0.19: helle Auswahlflächen und verlässlicher Kontrast */
.faktura-customer-result{
  border-color:#d7e0e5 !important;
  background:#fff !important;
  color:#26343c !important;
  box-shadow:none !important;
}
.faktura-customer-result:hover,.faktura-customer-result:focus-visible{
  border-color:#8bb0c1 !important;
  background:#f5fafc !important;
  color:#173b4c !important;
}
.faktura-customer-result.is-selected{
  border-color:#1d718f !important;
  background:#e9f6fa !important;
  color:#173b4c !important;
  box-shadow:inset 3px 0 0 #1d718f !important;
}
.faktura-customer-result .faktura-customer-result-meta,
.faktura-customer-result .faktura-customer-result-top>span{
  color:#526873 !important;
}

/* Cockpit 2.0.20: ruhiger Detailschalter ohne blaue Flaechen */
.domain-table .accordion-toggle{
  width:30px !important;
  height:30px !important;
  border:1px solid #cbd6dc !important;
  border-radius:50% !important;
  background:#fff !important;
  color:#314852 !important;
  box-shadow:0 1px 3px rgba(20,35,45,.08) !important;
  font-size:18px !important;
  font-weight:700 !important;
}
.domain-table .accordion-main:hover .accordion-toggle{
  border-color:#cbd6dc !important;
  background:#fff !important;
  color:#314852 !important;
}
.domain-table .accordion-toggle:hover,
.domain-table .accordion-toggle:focus-visible{
  border-color:#d18a48 !important;
  background:#fff7ef !important;
  color:#a75518 !important;
  box-shadow:0 0 0 3px rgba(209,138,72,.14) !important;
}
.domain-table .accordion-main.is-open .accordion-toggle{
  border-color:#d18a48 !important;
  background:#fff1e4 !important;
  color:#a75518 !important;
  box-shadow:none !important;
}
.domain-table tbody tr.accordion-main.is-open td{
  background:rgba(209,138,72,.025);
}

/* Faktura bank reconciliation ------------------------------------------------ */
.bank-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.45fr);gap:22px;align-items:start}.bank-intro h2,.bank-preview-head h2{margin-top:0}.bank-last-import{background:#f3f6f8;border:1px solid #dde5e9;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.bank-last-import span{color:#65727a;font-size:.92rem}.bank-upload-form{grid-column:1/-1}.bank-dropzone{min-height:170px;border:2px dashed #aebcc5;border-radius:16px;background:#f8fafb;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:26px;text-align:center;cursor:pointer;transition:.18s ease}.bank-dropzone:hover,.bank-dropzone.dragging{border-color:#d86d23;background:#fff8f2}.bank-dropzone.has-file{border-style:solid;border-color:#5a9c74;background:#f2faf5}.bank-dropzone input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.bank-drop-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#fff1e7;color:#be5819;font-size:27px;font-weight:800}.bank-dropzone strong{font-size:1.1rem}.bank-dropzone>span:not(.bank-drop-icon){color:#65727a}.bank-dropzone em{font-style:normal;color:#276b47;font-weight:700;min-height:1.2em}.bank-preview-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.bank-preview-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.bank-preview-actions form{margin:0}.bank-summary{grid-template-columns:repeat(7,minmax(105px,1fr))}.bank-table-card{overflow-x:auto}.bank-table{min-width:1280px}.bank-table th:nth-child(1){width:86px}.bank-table th:nth-child(2){width:105px}.bank-table th:nth-child(5){width:125px}.bank-table th:nth-child(6){width:190px}.bank-table th:nth-child(7){width:260px}.bank-known-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:800;white-space:nowrap}.bank-known-badge.new{background:#eaf7ef;color:#246b44}.bank-known-badge.known{background:#eef1f3;color:#67737a}.bank-known-row{opacity:.72}.bank-debit-row{background:#fafafa;color:#6d777d}.bank-remittance{max-width:420px;word-break:break-word}.bank-iban{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.bank-adjustment,.bank-amount-warning{margin-top:5px;color:#9a5a19;font-size:.8rem;font-weight:700}.bank-amount-warning{color:#a13b32}@media(max-width:1100px){.bank-summary{grid-template-columns:repeat(4,1fr)}}@media(max-width:760px){.bank-intro{grid-template-columns:1fr}.bank-preview-head{display:block}.bank-preview-actions{justify-content:flex-start;margin-top:16px}.bank-summary{grid-template-columns:repeat(2,1fr)}}


/* Cockpit 2.0.29: separater Zahlungsstatus aus Bankabgleich */
.payment-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;white-space:nowrap}
.payment-status-paid{background:#e7f7ed;color:#096b2d}
.payment-status-open{background:#eef1f3;color:#5e6870}
.payment-status-partial{background:#fff4d7;color:#835400}
.payment-status-review{background:#fff0e4;color:#9a4f16}
.payment-status-detail{margin-top:4px;color:#68747c;font-size:11px;line-height:1.3;white-space:nowrap}
.faktura-invoice-table .faktura-payment-cell{min-width:135px}
.faktura-invoice-table th:nth-child(7),.faktura-invoice-table td:nth-child(7){width:1%;white-space:nowrap}


/* Cockpit 2.0.30: Zahlungsübersicht im Jahresjournal */
.invoice-journal-payment-summary{grid-template-columns:repeat(4,minmax(150px,1fr))}
.invoice-journal-table .invoice-journal-payment-cell{min-width:145px}
.invoice-journal-table th:last-child,.invoice-journal-table td:last-child{white-space:nowrap}
@media(max-width:900px){.invoice-journal-payment-summary{grid-template-columns:repeat(2,minmax(140px,1fr))}}

/* 2.0.32 — ruhige, kompakte Jahresübersicht */
.invoice-journal-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid #dfe5e8;
  border-radius:14px;
  background:#fff;
  margin:10px 0 14px;
  overflow:hidden;
}
.invoice-journal-kpis>div{padding:12px 16px;min-width:0;position:relative}
.invoice-journal-kpis>div+div{border-left:1px solid #e7ebed}
.invoice-journal-kpis span{display:block;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#74808a;margin-bottom:3px}
.invoice-journal-kpis strong{display:block;font-size:18px;line-height:1.15;letter-spacing:-.02em;color:#202a31;white-space:nowrap}
.invoice-journal-kpis small{display:block;font-size:11px;color:#7b858c;margin-top:3px}

.invoice-journal-modern{padding:0;overflow:hidden;border-radius:14px}
.invoice-journal-modern .invoice-journal-table{margin:0;width:100%;table-layout:fixed;border-collapse:collapse}
.invoice-journal-modern .invoice-journal-table th{font-size:11px;line-height:1.2;text-transform:uppercase;letter-spacing:.045em;color:#6f7b84;background:#f7f9fa;padding:10px 14px;border-bottom:1px solid #dfe5e8;font-weight:800}
.invoice-journal-modern .invoice-journal-table td{font-size:13px;line-height:1.25;padding:10px 14px;border-bottom:1px solid #edf0f2;vertical-align:middle;background:#fff}
.invoice-journal-modern .invoice-journal-table tr:last-child td{border-bottom:0}
.invoice-journal-modern .invoice-journal-table th:nth-child(1){width:29%}
.invoice-journal-modern .invoice-journal-table th:nth-child(2){width:20%}
.invoice-journal-modern .invoice-journal-table th:nth-child(3){width:13%}
.invoice-journal-modern .invoice-journal-table th:nth-child(4){width:15%}
.invoice-journal-modern .invoice-journal-table th:nth-child(5){width:23%}
.invoice-journal-customer strong{font-size:13px;font-weight:700;color:#243039}
.invoice-journal-number{font-size:12px!important;color:#46545e;font-variant-numeric:tabular-nums}
.invoice-journal-date{font-size:12px!important;color:#68757e;white-space:nowrap;font-variant-numeric:tabular-nums}
.invoice-journal-amount{font-size:13px!important;font-weight:750;font-variant-numeric:tabular-nums;color:#202a31}
.invoice-journal-payment-cell{white-space:nowrap}
.invoice-payment-line{display:flex;align-items:center;gap:7px;min-width:0;white-space:nowrap}
.invoice-journal-modern .payment-status{font-size:10.5px;padding:3px 7px;font-weight:800;line-height:1.15}
.invoice-journal-modern .payment-status-detail{display:inline;margin:0;font-size:11.5px;line-height:1.2;color:#72808a;white-space:nowrap}
.invoice-journal-modern .payment-status-detail:before{content:"·";margin-right:7px;color:#a4adb3}

/* Nicht bezahlt: nur ein Hauch Farbe statt Vollflächen. */
.invoice-journal-modern tr.invoice-payment-row-open td{background:#fffdfa}
.invoice-journal-modern tr.invoice-payment-row-partial td{background:#fffdf7}
.invoice-journal-modern tr.invoice-payment-row-review td{background:#fffaf5}
.invoice-journal-modern tr.invoice-payment-row-open td:first-child{box-shadow:inset 2px 0 0 #e9c9a7}
.invoice-journal-modern tr.invoice-payment-row-partial td:first-child{box-shadow:inset 2px 0 0 #e3b85a}
.invoice-journal-modern tr.invoice-payment-row-review td:first-child{box-shadow:inset 2px 0 0 #df9d67}
.invoice-journal-modern tr.invoice-payment-row-paid:hover td,
.invoice-journal-modern tr.invoice-payment-row-open:hover td,
.invoice-journal-modern tr.invoice-payment-row-partial:hover td,
.invoice-journal-modern tr.invoice-payment-row-review:hover td{background:#f7fafb}

/* Altes Herkunfts-Rot auf der Jahresübersicht bewusst neutralisieren. */
.invoice-journal-modern .invoice-journal-legacy-row td{background:inherit!important}
.invoice-journal-modern .invoice-journal-legacy-row td:first-child{box-shadow:none}

@media(max-width:1000px){
  .invoice-journal-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .invoice-journal-kpis>div:nth-child(3){border-left:0;border-top:1px solid #e7ebed}
  .invoice-journal-kpis>div:nth-child(4){border-top:1px solid #e7ebed}
}


/* Cockpit 2.0.34 – Jahresübersicht: Forms-artiger Zahlungs-Toggle, konsequent einzeilig */
.invoice-journal-modern .invoice-journal-table th:nth-child(1){width:34%}
.invoice-journal-modern .invoice-journal-table th:nth-child(2){width:19%}
.invoice-journal-modern .invoice-journal-table th:nth-child(3){width:11%}
.invoice-journal-modern .invoice-journal-table th:nth-child(4){width:14%}
.invoice-journal-modern .invoice-journal-table th:nth-child(5){width:22%}
.invoice-journal-modern .invoice-journal-table td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.invoice-journal-modern .invoice-journal-customer strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.invoice-journal-modern .invoice-journal-number,.invoice-journal-modern .invoice-journal-date,.invoice-journal-modern .invoice-journal-amount{white-space:nowrap}
.invoice-journal-modern .invoice-journal-payment-cell{overflow:visible}
.invoice-journal-modern .invoice-payment-line{display:flex;align-items:center;gap:5px;white-space:nowrap;position:relative}
.payment-quick-form{display:inline-flex;margin:0;padding:0}
.payment-status-toggle{appearance:none;-webkit-appearance:none;border:0;background:transparent;padding:0;margin:0;display:inline-flex;align-items:center;gap:6px;cursor:pointer;font:inherit;color:inherit;white-space:nowrap;border-radius:999px}
.payment-status-toggle:hover .payment-status{filter:brightness(.97);box-shadow:0 0 0 2px rgba(45,75,95,.06)}
.payment-status-toggle:focus-visible{outline:2px solid #4263eb;outline-offset:3px}
.invoice-journal-modern .payment-status-toggle .payment-status-detail{display:inline;margin:0;color:#72808a;font-size:11.5px;white-space:nowrap}
.invoice-journal-modern .payment-status-toggle .payment-status-detail:before{content:"·";margin-right:6px;color:#a4adb3}
.payment-status-manual{font-size:10px;color:#8a949b;white-space:nowrap}
.payment-status-manual:before{content:"·";margin-right:6px;color:#b1b8bd}
.payment-more{display:inline-block;position:relative;margin-left:1px;overflow:visible}
.payment-more>summary{list-style:none;cursor:pointer;color:#8a969e;font-weight:800;font-size:14px;line-height:1;padding:4px 5px;border-radius:7px;user-select:none}
.payment-more>summary::-webkit-details-marker{display:none}
.payment-more>summary:hover{background:#eef2f4;color:#34434d}
.payment-more-panel{position:absolute;z-index:30;right:0;top:26px;background:#fff;border:1px solid #dce3e7;border-radius:10px;box-shadow:0 12px 30px rgba(26,42,52,.16);padding:10px;min-width:460px}
.payment-more-panel .payment-override-inline{display:flex!important;align-items:center;gap:7px;white-space:nowrap;margin:0}
.payment-more-panel .payment-override-inline select,.payment-more-panel .payment-override-inline input{height:34px;font-size:12px;padding:5px 8px}
.payment-more-panel .payment-override-inline select{min-width:110px}
.payment-more-panel .payment-override-inline input[type=date]{width:140px}
.payment-more-panel .payment-override-inline input[type=number]{width:110px}
.payment-more-panel .payment-override-inline .payment-edit-cancel{display:none}
@media (max-width:1100px){
  .invoice-journal-modern .invoice-journal-table th:nth-child(1){width:31%}
  .invoice-journal-modern .invoice-journal-table th:nth-child(2){width:20%}
  .invoice-journal-modern .invoice-journal-table th:nth-child(3){width:12%}
  .invoice-journal-modern .invoice-journal-table th:nth-child(4){width:15%}
  .invoice-journal-modern .invoice-journal-table th:nth-child(5){width:22%}
}

/* Cockpit 2.0.35 – Jahresübersicht UI Polish */
.invoice-journal-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  border:0;
  background:transparent;
  border-radius:0;
  overflow:visible;
  margin:12px 0 16px;
}
.invoice-journal-kpis>div{
  background:#fff;
  border:1px solid #e3e8ec;
  border-radius:14px;
  padding:14px 16px 13px;
  min-width:0;
  box-shadow:0 1px 0 rgba(20,32,40,.03);
}
.invoice-journal-kpis>div+div{border-left:1px solid #e3e8ec}
.invoice-journal-kpis span{font-size:10.5px;letter-spacing:.06em;color:#7a848c;margin-bottom:4px}
.invoice-journal-kpis strong{font-size:19px;line-height:1.1;letter-spacing:-.025em;color:#1d2830}
.invoice-journal-kpis small{font-size:11px;color:#7a848c;margin-top:4px}

.invoice-journal-modern{
  border:1px solid #e3e8ec;
  border-radius:16px;
  background:#fff;
  box-shadow:0 1px 0 rgba(20,32,40,.03);
}
.invoice-journal-modern .invoice-journal-table{table-layout:fixed;border-collapse:separate;border-spacing:0}
.invoice-journal-modern .invoice-journal-table th{
  background:#f9fbfc;
  color:#77828a;
  font-size:10.5px;
  letter-spacing:.055em;
  padding:11px 14px;
  border-bottom:1px solid #e4eaee;
}
.invoice-journal-modern .invoice-journal-table td{
  font-size:12.5px;
  line-height:1.2;
  padding:12px 14px;
  border-bottom:1px solid #eef2f4;
  background:#fff;
}
.invoice-journal-modern .invoice-journal-table tr:last-child td{border-bottom:0}
.invoice-journal-modern .invoice-journal-table th:nth-child(1){width:35%}
.invoice-journal-modern .invoice-journal-table th:nth-child(2){width:18%}
.invoice-journal-modern .invoice-journal-table th:nth-child(3){width:10%}
.invoice-journal-modern .invoice-journal-table th:nth-child(4){width:13%}
.invoice-journal-modern .invoice-journal-table th:nth-child(5){width:24%}
.invoice-journal-modern .invoice-journal-customer strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px;
  font-weight:700;
  color:#243039;
}
.invoice-journal-modern .invoice-journal-number{
  font-size:11.5px !important;
  color:#51606a;
  font-variant-numeric:tabular-nums;
}
.invoice-journal-modern .invoice-journal-date{
  font-size:11.5px !important;
  color:#75818a;
  font-variant-numeric:tabular-nums;
}
.invoice-journal-modern .invoice-journal-amount{
  font-size:13px !important;
  font-weight:750;
  color:#202a31;
  letter-spacing:-.01em;
  font-variant-numeric:tabular-nums;
}
.invoice-journal-modern .invoice-journal-payment-cell{overflow:visible}
.invoice-journal-modern .invoice-payment-line{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  white-space:nowrap;
}
.payment-quick-form{display:inline-flex;min-width:0;max-width:calc(100% - 28px)}
.payment-status-toggle{
  min-width:0;
  max-width:100%;
  gap:6px;
  border-radius:999px;
}
.payment-status-toggle:hover .payment-status{filter:none;box-shadow:none}
.payment-status-toggle:focus-visible{outline:2px solid #4c6ef5;outline-offset:2px}
.payment-status{
  display:inline-flex;
  align-items:center;
  padding:4px 9px;
  border-radius:999px;
  border:1px solid transparent;
  font-size:10.5px;
  font-weight:800;
  line-height:1.1;
}
.payment-status-paid{background:#eff8f2;border-color:#dbeee1;color:#1b7a41}
.payment-status-open{background:#f2f4f6;border-color:#e4e9ed;color:#65717a}
.payment-status-partial{background:#fff6df;border-color:#f3e4b3;color:#8a5c00}
.payment-status-review{background:#fff2e8;border-color:#f2d7c4;color:#9c561f}
.invoice-journal-modern .payment-status-toggle .payment-status-detail,
.invoice-journal-modern .payment-status-detail{
  display:inline;
  margin:0;
  font-size:11px;
  color:#6f7d86;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:110px;
}
.invoice-journal-modern .payment-status-toggle .payment-status-detail:before,
.invoice-journal-modern .payment-status-detail:before{content:'·';margin-right:6px;color:#b0b8be}
.payment-status-manual{
  font-size:10px;
  color:#8d979e;
  white-space:nowrap;
  flex:0 0 auto;
}
.payment-status-manual:before{content:'·';margin-right:6px;color:#c0c7cc}
.payment-more{display:inline-flex;align-items:center;flex:0 0 auto;position:relative;margin-left:2px}
.payment-more>summary{
  list-style:none;
  width:22px;
  height:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid transparent;
  color:#8a959c;
  font-size:14px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
}
.payment-more>summary::-webkit-details-marker{display:none}
.payment-more>summary:hover,
.payment-more[open]>summary{background:#f3f6f7;border-color:#dde4e8;color:#37444d}
.payment-more-panel{
  position:absolute;
  right:0;
  top:28px;
  z-index:30;
  min-width:440px;
  background:#fff;
  border:1px solid #dce3e7;
  border-radius:12px;
  box-shadow:0 12px 30px rgba(26,42,52,.14);
  padding:10px;
}
.payment-more-panel .payment-override-inline{display:flex !important;align-items:center;gap:8px;white-space:nowrap;margin:0}
.payment-more-panel .payment-override-inline select,
.payment-more-panel .payment-override-inline input{height:34px;font-size:12px;padding:6px 8px;border-radius:9px}
.payment-more-panel .payment-override-inline .button{height:34px;padding:0 12px;border-radius:9px}
.payment-more-panel .payment-override-inline .payment-edit-cancel{display:none}

.invoice-journal-modern tr.invoice-payment-row-open td,
.invoice-journal-modern tr.invoice-payment-row-partial td,
.invoice-journal-modern tr.invoice-payment-row-review td{background:#fff}
.invoice-journal-modern tr.invoice-payment-row-open td:first-child{box-shadow:inset 3px 0 0 #e8d6b6}
.invoice-journal-modern tr.invoice-payment-row-partial td:first-child{box-shadow:inset 3px 0 0 #e2c16f}
.invoice-journal-modern tr.invoice-payment-row-review td:first-child{box-shadow:inset 3px 0 0 #e2ab80}
.invoice-journal-modern tr:hover td{background:#fafcfd}
.invoice-journal-modern tr.invoice-payment-row-open:hover td:first-child{box-shadow:inset 3px 0 0 #e8d6b6}
.invoice-journal-modern tr.invoice-payment-row-partial:hover td:first-child{box-shadow:inset 3px 0 0 #e2c16f}
.invoice-journal-modern tr.invoice-payment-row-review:hover td:first-child{box-shadow:inset 3px 0 0 #e2ab80}

@media (max-width: 1100px){
  .invoice-journal-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .invoice-journal-modern .invoice-journal-table th:nth-child(1){width:31%}
  .invoice-journal-modern .invoice-journal-table th:nth-child(2){width:20%}
  .invoice-journal-modern .invoice-journal-table th:nth-child(3){width:11%}
  .invoice-journal-modern .invoice-journal-table th:nth-child(4){width:13%}
  .invoice-journal-modern .invoice-journal-table th:nth-child(5){width:25%}
  .payment-more-panel{min-width:400px}
}

/* Cockpit 2.0.36 – Zahlungsstatus-Button darf niemals die globale Cockpit-Buttonfarbe erben. */
.invoice-journal-modern button.payment-status-toggle,
.invoice-journal-modern button.payment-status-toggle:hover,
.invoice-journal-modern button.payment-status-toggle:active,
.invoice-journal-modern button.payment-status-toggle:focus{
  background:transparent !important;
  color:inherit !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}

/* Cockpit 2.0.37 – Zahlungsmenü darf sauber über die nächste Zeile legen */
.invoice-journal-modern .invoice-journal-table tr,
.invoice-journal-modern .invoice-journal-table td{
  position:relative;
}
.invoice-journal-modern .invoice-journal-payment-cell{
  overflow:visible !important;
  z-index:2;
}
.invoice-journal-modern .payment-more,
.invoice-journal-modern .payment-more-panel{
  overflow:visible;
}
.invoice-journal-modern .payment-more[open]{
  z-index:60;
}
.invoice-journal-modern .payment-more[open] > summary{
  background:#f3f6f7;
  color:#37444d;
}
.invoice-journal-modern .invoice-journal-table tr:has(.payment-more[open]){
  z-index:55;
}
.invoice-journal-modern .invoice-journal-payment-cell:has(.payment-more[open]){
  z-index:56;
}
.invoice-journal-modern .payment-more-panel{
  z-index:70;
}

/* Cockpit 2.0.38 – Jahresfazit: offener Betrag */
.invoice-journal-total-open{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:11px 16px 13px;
  border-top:1px solid #dfe6ea;
  background:#fffaf3;
}
.invoice-journal-total-open span{
  color:#7a6856;
  font-size:12px;
  font-weight:700;
}
.invoice-journal-total-open strong{
  color:#8a5a2b;
  font-size:16px;
  font-weight:800;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
@media print{
  .invoice-journal-total-open{background:#fff}
}

/* Cockpit 2.0.39 – Rechnungen wieder als reine Rechnungsliste */
.faktura-invoice-table th:nth-child(7),
.faktura-invoice-table td:nth-child(7){width:auto;white-space:normal}
.faktura-invoice-table td:last-child{white-space:nowrap}
.faktura-invoice-table td:last-child .billing-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap}
.faktura-invoice-table td:last-child .billing-row-actions .button,
.faktura-invoice-table td:last-child .billing-row-actions form{margin:0;white-space:nowrap}


/* Cockpit 2.0.40 – Bankabgleich im Rechnungsmenü + aufmerksamere Offen-Farbe */
.payment-status-open{
  background:#fff3d8 !important;
  border-color:#edd9a6 !important;
  color:#855700 !important;
}
.topbar .nav-submenu a.bank-nav-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.nav-attention-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:19px;
  height:19px;
  padding:0 6px;
  border-radius:999px;
  background:#d97706;
  color:#fff;
  font-size:10.5px;
  font-weight:800;
  line-height:1;
  font-variant-numeric:tabular-nums;
}


/* Cockpit 2.0.41 – häufige Aufwandsbeschreibungen in Faktura */
.faktura-description-presets{display:grid;gap:9px;margin:4px 0 13px}
.faktura-preset-row{display:flex;align-items:flex-start;gap:10px}
.faktura-preset-label{flex:0 0 108px;padding-top:5px;font-size:11px;font-weight:800;color:#71808a}
.faktura-work-presets{gap:6px}
.faktura-work-presets button{font-weight:650 !important}
@media(max-width:760px){.faktura-preset-row{display:block}.faktura-preset-label{display:block;padding:0;margin:0 0 5px}}


/* Cockpit 2.0.42 – verwaltbare Faktura-Textbausteine */
.faktura-textblocks-manage{display:inline-flex;margin-top:1px;font-size:11px;font-weight:750;color:#60727d;text-decoration:none}.faktura-textblocks-manage:hover{color:#123849;text-decoration:underline}
.faktura-textblock-add{margin-bottom:14px}.faktura-textblock-add h2{margin-top:0}.textblock-form-grid{display:grid;grid-template-columns:160px minmax(180px,.7fr) minmax(320px,1.3fr) auto;gap:12px;align-items:end}.textblock-form-grid label{margin:0}.textblock-add-action{padding-bottom:0}.textblock-add-action button{height:42px;margin:0}
.faktura-textblock-card{overflow:visible}.faktura-textblock-table{table-layout:fixed}.faktura-textblock-table th:nth-child(1){width:11%}.faktura-textblock-table th:nth-child(2){width:19%}.faktura-textblock-table th:nth-child(3){width:35%}.faktura-textblock-table th:nth-child(4){width:10%}.faktura-textblock-table th:nth-child(5){width:10%}.faktura-textblock-table th:nth-child(6){width:15%}.faktura-textblock-table td{vertical-align:middle}.textblock-group{font-size:11px;font-weight:800;color:#667680}.textblock-inline-form{display:contents}.textblock-label-input,.textblock-text-input{height:36px;padding:7px 9px;font-size:12px;border-radius:8px}.textblock-active{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:11px;font-weight:750}.textblock-active input{width:auto}.textblock-order-actions{display:flex;gap:4px}.textblock-order{min-width:30px!important;width:30px;height:30px;padding:0!important;justify-content:center;margin:0!important}.faktura-textblock-table .billing-row-actions{flex-wrap:nowrap}.faktura-textblock-table .billing-row-actions button{white-space:nowrap}
@media(max-width:1000px){.textblock-form-grid{grid-template-columns:1fr 1fr}.textblock-text{grid-column:1/-1}.faktura-textblock-card{overflow-x:auto}.faktura-textblock-table{min-width:980px}}

/* Cockpit 2.0.43 – Textbausteine direkt in der Rechnungsstellung */
button.faktura-textblocks-manage{
  appearance:none!important;-webkit-appearance:none!important;background:transparent!important;color:#667781!important;
  border:0!important;padding:2px 0!important;margin:1px 0 0!important;border-radius:0!important;font-size:11px!important;
  line-height:1.3!important;font-weight:750!important;box-shadow:none!important;text-decoration:none;align-self:flex-start
}
button.faktura-textblocks-manage:hover{color:#123849!important;text-decoration:underline}
.faktura-textblocks-inline{margin-top:14px;padding:18px}
.faktura-textblocks-inline[hidden]{display:none!important}
.faktura-textblocks-inline-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}
.faktura-textblocks-inline-head h2{margin:0 0 3px;font-size:17px}.faktura-textblocks-inline-head p{margin:0;color:#71808a;font-size:12px}
.textblock-inline-add{display:grid;grid-template-columns:120px 180px minmax(220px,1fr) auto;gap:8px;align-items:end;padding:12px;background:#f7f9fa;border:1px solid #e4e9ec;border-radius:11px;margin:0 0 12px}
.textblock-inline-add label{margin:0;font-size:11px}.textblock-inline-add input,.textblock-inline-add select{height:36px;padding:7px 9px;font-size:12px;border-radius:8px}.textblock-inline-add button{height:36px;margin:0;padding:0 12px}
.textblock-inline-list{display:grid;gap:6px}
.textblock-inline-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center;padding:8px 9px;border:1px solid #e8edef;border-radius:10px;background:#fff}
.textblock-inline-edit{display:grid;grid-template-columns:76px 145px minmax(180px,1fr) 70px auto;gap:7px;align-items:center;margin:0}
.textblock-inline-edit input[type=text]{height:34px;padding:6px 8px;font-size:11.5px;border-radius:8px}
.textblock-inline-edit .textblock-group{font-size:10px}.textblock-inline-edit .textblock-active{font-size:10.5px}
.textblock-inline-actions{display:flex;gap:4px;align-items:center}.textblock-inline-actions .button{height:30px!important;margin:0!important;padding:0 9px!important;font-size:11px!important}
.textblock-inline-delete{margin:0}.textblock-delete-link{appearance:none!important;background:transparent!important;color:#8a6464!important;border:0!important;padding:4px!important;margin:0!important;font-size:10.5px!important;font-weight:700!important}.textblock-delete-link:hover{color:#a52424!important;text-decoration:underline}
@media(max-width:900px){.textblock-inline-add{grid-template-columns:1fr 1fr}.textblock-inline-add-text{grid-column:1/-1}.textblock-inline-edit{grid-template-columns:70px 1fr}.textblock-inline-text{grid-column:1/-1}.textblock-inline-actions{grid-column:2}.textblock-inline-item{align-items:start}}

/* Cockpit 2.0.44 – klare Statuslogik im Web-Service-Bulk */
.bulk-invoice-table .bulk-status-ready{
  background:#eaf7ef;
  color:#1f6b42;
  border:1px solid #d4eadc;
}
.bulk-invoice-table .bulk-status-notice{
  background:#fff3d6;
  color:#805400;
  border:1px solid #f0dda5;
}
.bulk-invoice-table .bulk-status-blocked{
  background:#f3eeee;
  color:#7c4747;
  border:1px solid #e6d4d4;
}

/* Cockpit 2.0.45 – Sammelrechnungen auf neuem Listenstandard */
.bulk-page-title{align-items:flex-start;margin-bottom:14px}
.bulk-page-title p{max-width:720px}
.bulk-status-legend{display:flex;gap:6px;align-items:center;margin-top:8px}
.bulk-status-legend span{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:800;border:1px solid transparent}
.bulk-legend-ready{background:#edf8f1;color:#247044;border-color:#d9ece0!important}
.bulk-legend-notice{background:#fff4dc;color:#805400;border-color:#f0dfa8!important}
.bulk-legend-blocked{background:#f5eeee;color:#7d4a4a;border-color:#e7d8d8!important}

.bulk-invoice-intro-modern{padding:15px 18px;border-radius:14px;box-shadow:0 1px 0 rgba(20,32,40,.03)}
.bulk-invoice-intro-modern h2{margin:1px 0 3px;font-size:20px;letter-spacing:-.02em}
.bulk-invoice-intro-modern .description{margin:0;color:#6d7880;font-size:11.5px}
.bulk-eyebrow{display:block;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:800;color:#7b858c}
.bulk-year-form{gap:8px}
.bulk-year-form label{font-size:11px;color:#68757d}
.bulk-year-form input{width:92px;height:36px;padding:7px 9px;font-size:13px;border-radius:9px}
.bulk-year-form .button{height:36px;padding:0 12px;margin:0}

.bulk-invoice-summary-modern{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border:1px solid #e1e7eb;border-radius:13px;margin:10px 0 14px;overflow:hidden}
.bulk-invoice-summary-modern>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:10px 14px;min-width:0}
.bulk-invoice-summary-modern>div+div{border-left:1px solid #e8edef}
.bulk-invoice-summary-modern span{font-size:10.5px;font-weight:750;color:#768189;white-space:nowrap}
.bulk-invoice-summary-modern strong{font-size:17px;line-height:1;color:#202a31;font-variant-numeric:tabular-nums}

.bulk-invoice-card{overflow:visible!important;border-radius:15px;padding:0}
.bulk-invoice-toolbar{padding:10px 13px;background:#fbfcfd;border-bottom:1px solid #e4eaed}
.bulk-invoice-toolbar .button{height:32px;padding:0 11px;font-size:11.5px;border-radius:9px}
.bulk-invoice-toolbar>strong{font-size:11.5px;color:#59666f}
.bulk-invoice-table{width:100%;table-layout:fixed;border-collapse:collapse}
.bulk-invoice-table th{padding:9px 10px!important;background:#f6f9fa!important;color:#707c84!important;font-size:9.5px!important;text-transform:uppercase;letter-spacing:.045em;border-bottom:1px solid #e1e7ea}
.bulk-invoice-table td{padding:10px!important;font-size:12px;line-height:1.18;vertical-align:middle!important;border-bottom:1px solid #edf1f3;background:#fff}
.bulk-invoice-table tbody tr:last-child td{border-bottom:0}
.bulk-invoice-table tbody tr:hover td{background:#fafcfd}
.bulk-invoice-table th:nth-child(1){width:4%}
.bulk-invoice-table th:nth-child(2){width:25%}
.bulk-invoice-table th:nth-child(3){width:25%}
.bulk-invoice-table th:nth-child(4){width:8%}
.bulk-invoice-table th:nth-child(5){width:10%}
.bulk-invoice-table th:nth-child(6){width:18%}
.bulk-invoice-table th:nth-child(7){width:10%}
.bulk-invoice-table td>strong{font-size:12px;color:#26323a}
.bulk-invoice-table td:nth-child(2) .muted{margin-top:2px;font-size:10.5px;color:#849098;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bulk-invoice-table td:nth-child(3)>strong{display:inline;max-width:100%;font-size:11.5px;font-weight:700;color:#34434c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bulk-invoice-table td:nth-child(3)>div{display:inline;margin-left:6px}
.bulk-invoice-table .service-pill,.bulk-invoice-table .service-pill-premium,.bulk-invoice-table .service-pill-plus,.bulk-invoice-table .service-pill-basic,.bulk-invoice-table .service-pill-kultur{vertical-align:middle;font-size:9px!important;padding:2px 6px!important}
.bulk-invoice-table td:nth-child(4){color:#53616a}
.bulk-invoice-table td:nth-child(5) strong{font-size:12.5px;font-variant-numeric:tabular-nums;white-space:nowrap}
.bulk-date-cell strong{display:block;font-size:11.5px!important;font-weight:700!important;color:#35434c!important;white-space:nowrap}
.bulk-date-meta{margin-top:2px;color:#7c878e;font-size:9.8px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bulk-invoice-table .invoice-status{margin:0!important;padding:3px 7px!important;font-size:9.5px!important;line-height:1.1!important;white-space:nowrap}
.bulk-invoice-table .bulk-status-ready{background:#edf8f1!important;color:#247044!important;border-color:#d9ece0!important}
.bulk-invoice-table .bulk-status-notice{background:#fff4dc!important;color:#805400!important;border-color:#f0dfa8!important}
.bulk-invoice-table .bulk-status-blocked{background:#f5eeee!important;color:#7d4a4a!important;border-color:#e7d8d8!important}
.bulk-invoice-table td:last-child .muted{margin-top:3px;font-size:9.5px;color:#818c93;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.bulk-invoice-table .bulk-check input{width:16px;height:16px}
.bulk-checkbox-label{min-width:26px;min-height:26px}
.bulk-invoice-actions{padding:12px 14px;align-items:center;background:#fbfcfd;border-top:1px solid #e4eaed}
.bulk-invoice-actions button{height:36px;margin:0;font-size:12px;padding:0 13px}
.bulk-invoice-actions .field-hint{margin:0;max-width:680px;font-size:10.5px;color:#7b858c}
@media(max-width:1050px){.bulk-invoice-card{overflow-x:auto!important}.bulk-invoice-table{min-width:1040px}.bulk-invoice-summary-modern{grid-template-columns:repeat(2,minmax(0,1fr))}.bulk-invoice-summary-modern>div:nth-child(3){border-left:0;border-top:1px solid #e8edef}.bulk-invoice-summary-modern>div:nth-child(4){border-top:1px solid #e8edef}}

/* Cockpit 2.0.46 – schneller Zahlungsfilter in der Jahresübersicht */
.invoice-journal-listbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:10px 12px;
  border-bottom:1px solid #e7ecef;
  background:#fbfcfd;
}
.invoice-journal-filter{display:inline-flex;align-items:center;gap:4px}
.invoice-journal-filter-btn{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid transparent !important;
  background:transparent !important;
  color:#65727b !important;
  padding:6px 10px !important;
  margin:0 !important;
  border-radius:8px !important;
  font-size:11.5px !important;
  font-weight:750 !important;
  line-height:1.1 !important;
  box-shadow:none !important;
}
.invoice-journal-filter-btn:hover{background:#f0f4f6 !important;color:#2d3d47 !important}
.invoice-journal-filter-btn.is-active{
  background:#eaf0f3 !important;
  border-color:#dce4e8 !important;
  color:#1e3845 !important;
}
.invoice-journal-filter-count{font-size:11px;color:#7b878f;white-space:nowrap}
.invoice-journal-table tbody tr[hidden]{display:none !important}
@media(max-width:760px){
  .invoice-journal-listbar{align-items:flex-start;overflow-x:auto}
  .invoice-journal-filter-count{display:none}
}
@media print{.invoice-journal-listbar{display:none !important}}


/* Cockpit 2.0.47 – Filterzustand + direkter Ordnerflow beim Finalisieren */
.invoice-journal-filter-btn[data-journal-filter="open"].is-active{
  background:#fff2d8 !important;
  border-color:#efd7a5 !important;
  color:#875800 !important;
}
.invoice-journal-filter-btn[data-journal-filter="review"].is-active{
  background:#fff0e4 !important;
  border-color:#edcfb8 !important;
  color:#974d18 !important;
}
.invoice-journal-filter-btn[data-journal-filter="all"].is-active{
  background:#eaf0f3 !important;
  border-color:#dce4e8 !important;
  color:#1e3845 !important;
}
.faktura-folder-gate{
  margin:16px 0 8px;
  border:1px solid #e2e7ea;
  border-radius:14px;
  background:#fbfcfd;
  overflow:hidden;
}
.faktura-folder-gate-head{padding:14px 16px 12px;border-bottom:1px solid #e7ecef}
.faktura-folder-gate-head strong{display:block;font-size:13px;color:#24323b;margin-bottom:3px}
.faktura-folder-gate-head span{display:block;font-size:11.5px;color:#6f7b83}
.faktura-folder-gate-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-bottom:1px solid #edf1f3}
.faktura-folder-gate-row>div{min-width:0}
.faktura-folder-gate-row strong{display:block;font-size:12px;color:#2a3740;margin-bottom:2px}
.faktura-folder-gate-row span{display:block;font-size:11px;color:#78848c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px}
.faktura-folder-gate-row .button{flex:0 0 auto;margin:0 !important;padding:7px 10px !important;font-size:11.5px !important}
.faktura-folder-gate-actions{display:flex;justify-content:flex-end;padding:9px 16px;background:#fff}
.faktura-folder-force{font-size:10.5px !important;opacity:.72}
#faktura_finalize_submit:disabled{opacity:.45;cursor:not-allowed}

/* Gemonio 2.1 split apps */
.app-switch{gap:4px}
.app-switch a{opacity:.72}
.app-switch a.active{opacity:1}


/* Gemonio Faktura 2.1.1 – sichere Kunden-Neuzuordnung von Website/Vertrag */
.contract-reassign{position:relative;display:inline-block}
.contract-reassign>summary{list-style:none;cursor:pointer;font-size:12px;font-weight:750;color:#64717a;padding:7px 9px;border-radius:8px;white-space:nowrap}
.contract-reassign>summary::-webkit-details-marker{display:none}
.contract-reassign>summary:hover,.contract-reassign[open]>summary{background:#f1f4f6;color:#253944}
.contract-reassign-form{position:absolute;z-index:60;right:0;top:34px;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #dce3e7;border-radius:12px;box-shadow:0 14px 34px rgba(25,40,50,.16);padding:10px;min-width:430px;margin:0}
.contract-reassign-form select{min-width:270px;height:36px;margin:0;font-size:12px}
.contract-reassign-form .button{height:36px;margin:0;white-space:nowrap}

/* Faktura 2.1.6 – Dashboard: "Zuletzt offene Positionen" als echte Card */
.faktura-recent-card{
    padding:24px 26px 22px;
    overflow:hidden;
}
.faktura-recent-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:20px;
}
.faktura-recent-head h2{
    margin:0 0 7px;
    line-height:1.15;
}
.faktura-recent-head .description{
    margin:0;
    color:#6a737b;
}
.faktura-recent-head .button{
    flex:0 0 auto;
    margin:0;
}
.faktura-recent-empty{
    display:flex;
    flex-direction:column;
    gap:5px;
    min-height:76px;
    justify-content:center;
    padding:17px 18px;
    border:1px solid #e5eaed;
    border-radius:12px;
    background:#f8fafb;
    color:#52616a;
}
.faktura-recent-empty span{
    font-weight:700;
    color:#34434c;
}
.faktura-recent-empty small{
    font-size:12px;
    color:#7a858c;
}
.faktura-recent-table-wrap{
    margin:0 -26px -22px;
    border-top:1px solid #e6ebee;
    overflow-x:auto;
}
.faktura-recent-table{
    margin:0;
    width:100%;
}
.faktura-recent-table th:first-child,
.faktura-recent-table td:first-child{padding-left:26px}
.faktura-recent-table th:last-child,
.faktura-recent-table td:last-child{padding-right:26px}
@media(max-width:760px){
    .faktura-recent-card{padding:20px}
    .faktura-recent-head{display:block;margin-bottom:16px}
    .faktura-recent-head .button{margin-top:12px}
    .faktura-recent-table-wrap{margin:0 -20px -20px}
    .faktura-recent-table th:first-child,
    .faktura-recent-table td:first-child{padding-left:20px}
    .faktura-recent-table th:last-child,
    .faktura-recent-table td:last-child{padding-right:20px}
}



/* Gemonio 2.3.0: gemeinsame CI wird zentral durch cockpit.webwerk.ch/assets/gemonio-core.css geführt. */
\n\n/* Faktura 2.3.3 – payment override dismiss UX */\n.payment-more-panel{padding-right:46px}\n.payment-more-panel .payment-more-close{\n  position:absolute;top:7px;right:8px;width:28px;height:28px;\n  display:inline-flex;align-items:center;justify-content:center;\n  border:0;border-radius:8px;background:transparent;color:#64727b;\n  font:inherit;font-size:22px;font-weight:400;line-height:1;cursor:pointer;\n}\n.payment-more-panel .payment-more-close:hover,\n.payment-more-panel .payment-more-close:focus-visible{background:#f1f4f5;color:#1f2a31;outline:none}\n.payment-more-panel .payment-override-inline .payment-edit-cancel{display:inline-flex!important}\n
/* 2.3.21 Contract dashboard polish */
.contracts-note{margin:0 0 18px;padding:14px 16px;border-radius:14px;background:#f7fafc;border:1px solid #e2e8ee;color:#44535d}
.contracts-note strong{display:block;margin-bottom:4px;color:#1d2a33}
.contracts-summary{grid-template-columns:repeat(4,minmax(180px,1fr))}
.contract-summary-box{min-width:0}
.contract-summary-box strong{font-size:30px;line-height:1.05;letter-spacing:-.02em}
.contract-summary-box span{display:block;margin-top:5px;font-size:13px;font-weight:700;color:#34424b}
.contract-summary-box small{display:block;margin-top:3px;font-size:12px;color:#7a858d}
.contracts-table th:nth-child(1){min-width:210px}
.contracts-table th:nth-child(2){min-width:200px}
.contracts-table th:nth-child(3){min-width:170px}
.contracts-table th:nth-child(4){min-width:120px}
.contracts-table th:nth-child(5){min-width:115px}
.contracts-table th:nth-child(6){min-width:190px}
.contracts-table th:nth-child(7){min-width:90px}
.contract-customer,.contract-site{display:flex;flex-direction:column;gap:3px;min-width:0}
.contract-customer strong,.contract-site strong{font-size:14px;color:#182833}
.contract-subline{font-size:12px;color:#70808a;line-height:1.35}
.contract-period{white-space:nowrap;font-weight:600;color:#22313a}
.contract-status-badge{align-items:center;gap:7px}
.contract-status-dot{display:inline-block;width:10px;height:10px;border-radius:999px;background:#9aa8b1;box-shadow:0 0 0 3px rgba(154,168,177,.14) inset}
.contract-status-dot.active{background:#1aad46;box-shadow:0 0 0 3px rgba(26,173,70,.18)}
.contract-status-dot.inactive{background:#b4841c;box-shadow:0 0 0 3px rgba(180,132,28,.18)}
.service-pill.plus{background:#e7efff;color:#284a95;border-color:#cad8ff}
.service-pill.culture{background:#f1e8ff;color:#69459a;border-color:#dac4ff}
.service-pill.unknown{background:#eef2f5;color:#5d6870;border-color:#d9e1e7}
.contract-actions a{display:inline-flex;align-items:center;padding:7px 11px;border-radius:9px;background:#eef3f6;color:#123849;font-weight:800;text-decoration:none}
.contract-actions a:hover{background:#e5edf2}
@media(max-width:1100px){.contracts-summary{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media(max-width:720px){.contracts-summary{grid-template-columns:1fr}.contract-summary-box strong{font-size:26px}}

/* 2.3.22 duplicate warning */
.notice.bad strong{display:block;margin-bottom:4px}
.contracts-table th:nth-child(2){min-width:180px}.contract-site strong{color:#123849}
.contract-service-cell{text-align:left!important;white-space:nowrap}
.contract-actions a{border:1px solid #d7e1e7;background:#fff;padding:8px 14px;border-radius:10px}
.contract-actions a:hover{background:#eef5f8}

/* Contract Integrity UI cleanup 2.3.28 */
.contract-service strong{white-space:nowrap;display:block;text-align:left}
.contract-actions a{min-height:34px;box-sizing:border-box}

.contract-action-group{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:nowrap}.contract-actions a,.contract-delete-button{height:34px;display:inline-flex;align-items:center;padding:0 12px;border-radius:9px;font-size:13px;font-weight:700;cursor:pointer;text-decoration:none;border:1px solid #d7e1e7}.contract-actions a{background:#eef3f6;color:#123849}.contract-delete-button{background:#fff;color:#8b2c2c}.contract-action-group form{margin:0}.contract-service strong{white-space:nowrap}

/* Contract table cleanup */
.contracts-table th:nth-child(1){min-width:260px;width:26%}
.contracts-table th:nth-child(2){min-width:210px;width:22%}
.contracts-table th:nth-child(3){min-width:120px;width:12%}
.contracts-table th:nth-child(4){min-width:95px;width:9%}
.contracts-table th:nth-child(5){min-width:210px;width:20%}
.contracts-table th:nth-child(6){min-width:150px;width:11%}
.contract-service strong{white-space:nowrap}
.contract-status-badge{white-space:nowrap}
.contract-open-button{white-space:nowrap}

.faktura-position-move{display:inline-flex;gap:4px}
.faktura-move-button{margin:0;min-width:32px;padding:4px 8px;border:1px solid #bad0da;border-radius:8px;background:#fff;color:#174d63;font-size:15px;line-height:1.2;cursor:pointer}
.faktura-move-button:hover:not(:disabled){background:#e8f2f6}
.faktura-move-button:disabled{opacity:.35;cursor:default}
.faktura-order-hint{margin:0 0 12px}
