/* Pulsvio v1.2.22 | zentrale Farben und Radien (aus bestehenden Designs übernommen) */
:root {
    --pvmx-color-black: #000;
    --pvmx-color-legacy-002: rgba(0,0,0,.18);
    --pvmx-color-legacy-003: #d7d1ec;
    --pvmx-color-legacy-004: #b4a0ff;
    --pvmx-color-legacy-005: #8260f5;
    --pvmx-color-white: #fff;
    --pvmx-color-legacy-007: #b49aff;
    --pvmx-color-legacy-008: #101014;
    --pvmx-color-legacy-009: #d7d3e4;
    --pvmx-color-legacy-010: rgba(123,78,255,.25);
    --pvmx-color-legacy-011: rgba(123,78,255,.13);
    --pvmx-color-legacy-012: rgba(166,154,199,.47);
    --pvmx-color-legacy-013: #9697ab;
    --pvmx-color-legacy-014: #090909;
    --pvmx-color-legacy-015: #a89cbe;
    --pvmx-color-legacy-016: #ffcf76;
    --pvmx-color-legacy-017: #08080a;
    --pvmx-color-legacy-018: rgba(36,174,88,.15);
    --pvmx-color-legacy-019: #84f5a0;
    --pvmx-color-legacy-020: rgba(255,196,58,.15);
    --pvmx-color-legacy-021: #ffe38c;
    --pvmx-color-legacy-022: #23232b;
    --pvmx-color-legacy-023: #d4d4df;
    --pvmx-color-legacy-024: rgba(219,74,65,.15);
    --pvmx-color-legacy-025: #ff9c9a;
    --pvmx-color-legacy-026: #ae91ff;
    --pvmx-color-legacy-027: rgba(123,78,255,.15);
    --pvmx-color-legacy-028: #060509;
    --pvmx-color-legacy-029: rgba(123,78,255,.46);
    --pvmx-color-legacy-030: #7b4eff;
    --pvmx-color-legacy-031: #0c0916;
    --pvmx-color-legacy-032: rgba(255,212,59,.13);
    --pvmx-color-legacy-033: rgba(255,82,102,.13);
    --pvmx-color-legacy-034: rgba(123,78,255,.53);
    --pvmx-color-legacy-035: #9974ff;
    --pvmx-color-legacy-036: #444;
    --pvmx-color-legacy-037: #24252a;
    --pvmx-color-legacy-038: #555;
    --pvmx-color-legacy-039: rgba(64,0,255,.22);
    --pvmx-color-legacy-040: #50565b;
    --pvmx-color-legacy-041: #f8f7fc;
    --pvmx-color-legacy-042: rgba(64,0,255,.16);
    --pvmx-color-legacy-043: #afdac0;
    --pvmx-color-legacy-044: #e8f7eb;
    --pvmx-color-legacy-045: #17643c;
    --pvmx-color-legacy-046: #a32720;
    --pvmx-color-legacy-047: #fff0ee;
    --pvmx-color-legacy-048: #e9b7b3;
    --pvmx-color-legacy-049: #56515e;
    --pvmx-color-violet: #4000ff;
    --pvmx-color-legacy-051: #171719;
    --pvmx-color-legacy-052: #18151f;
    --pvmx-color-legacy-053: #9ecfb0;
    --pvmx-color-legacy-054: #e8f7ed;
    --pvmx-color-legacy-055: #155d37;
    --pvmx-color-legacy-056: rgba(25,20,40,.16);
    --pvmx-color-legacy-057: #d99f9a;
    --pvmx-color-legacy-058: #932b25;
    --pvmx-color-legacy-059: #1c814d;
    --pvmx-color-legacy-060: #b02f27;
    --pvmx-color-legacy-061: #d4d9e4;
    --pvmx-color-legacy-062: #198a82;
    --pvmx-color-legacy-063: #168b83;
    --pvmx-color-legacy-064: #e1f2f0;
    --pvmx-color-legacy-065: #1669c1;
    --pvmx-color-legacy-066: #e4eefc;
    --pvmx-color-legacy-067: #4c8a52;
    --pvmx-color-legacy-068: #e9f4ea;
    --pvmx-color-legacy-069: #d48b00;
    --pvmx-color-legacy-070: #fff2db;
    --pvmx-color-legacy-071: #5279aa;
    --pvmx-color-legacy-072: #e9f0fc;
    --pvmx-color-legacy-073: #875d00;
    --pvmx-color-legacy-074: #25252b;
    --pvmx-color-legacy-075: #fbfbfd;
    --pvmx-color-legacy-076: rgba(64,0,255,1);
    --pvmx-color-legacy-077: #d6c4ff;
    --pvmx-color-white-78: #ffffff;
    --pvmx-color-legacy-079: #888;
    --pvmx-color-legacy-080: #8c6300;
    --pvmx-color-legacy-081: rgba(0,0,0,.1);
    --pvmx-color-legacy-082: #2874c7;
    --pvmx-color-legacy-083: #eceaf1;
    --pvmx-color-legacy-084: #d3c4ff;
    --pvmx-color-legacy-085: #26242c;
    --pvmx-radius-50: 50%;
    --pvmx-radius-0: 0;
    --pvmx-radius-16px: 16px;
    --pvmx-radius-10-4px: 10.4px;
    --pvmx-radius-13px: 13px;
    --pvmx-radius-15px: 15px;
    --pvmx-radius-14px: 14px;
    --pvmx-radius-12px: 12px;
    --pvmx-radius-20px: 20px;
    --pvmx-radius-9px: 9px;
    --pvmx-radius-22px: 22px;
    --pvmx-radius-18px: 18px;
    --pvmx-radius-panel: 16px;
    --pvmx-shadow-tab: rgba(0,0,0,.10);
    --pvmx-color-legacy-086: #bfc0cf;
    --pvmx-color-legacy-087: #dedee5;
    --pvmx-color-legacy-088: rgba(25,20,48,.10);
    --pvmx-color-legacy-089: rgba(20,20,35,.10);
    --pvmx-color-legacy-090: #e3e2e8;
    --pvmx-color-legacy-091: #ecebf3;
    --pvmx-color-legacy-092: #ededf2;
    --pvmx-color-legacy-093: #eeeef3;
    --pvmx-color-legacy-094: #d6c8ff;
    --pvmx-color-legacy-095: #eee;
    --pvmx-radius-3px: 3px;
}
/* ============================================================
   Pulsvio by medienmatrixx | Designübernahme MMX | v1.2.22 (Button-System)
   Ausschließlich Darstellung, keine Änderungen der UI-Funktionen.
   ============================================================ */
:root {
    --md-color0: #4000ff;
    --md-color1: #000000;
    --md-color2: #ffffff;
    --md-color4: #bfff00;
    --md-color4-20: #ebffb1;
    --mmx-border-color: #7b4eff;
    --mmx-border-opacity: .53;
    --mmx-border-radius: 16px;
    --purple: var(--md-color0);
    --ink: var(--md-color2);
    --muted: #bfc0cf;
    --line: rgba(123, 78, 255, .39);
    --bg: #000000;
    --mmx-text-secondary: #bfc0cf;
    --mmx-surface-input: #101014;
    color:var(--md-color2);
}

/* MMX .mxx-section.home.header: ein Hintergrund für die Anwendung.
   Die Lichtflächen werden NICHT pro Karte erneut erzeugt. */
body {
    background:var(--md-color1);
    color:var(--md-color2);
    position:relative;
    isolation:isolate;
}
body::before,
body::after {
    content:"";
    position:fixed;
    z-index:0;
    pointer-events:none;
border-radius:var(--pvmx-radius-50);
}
body::before {
    width:70vw;
    height:70vw;
    top:-35vw;
    right:-25vw;
    border:50px solid var(--md-color0);
    filter:blur(120px);
}
body::after {
    width:20vw;
    height:20vw;
    left:-8vw;
    bottom:5vw;
    background:var(--md-color0);
    filter:blur(200px);
    opacity:.85;
}
.layout,
.login-wrap {
    position:relative;
    z-index:1;
}
.layout { background:none; }
.main { position:relative; }

/* Branding: Kopfleiste bleibt an der bisherigen Stelle. */
.topbar {
    display:flex;
    background:none;
    border-bottom:none;
}
.brand {
    gap:10px;
    min-width:0;
    letter-spacing:normal;
}
/* Original Pulsvio full logo, as provided by the designer. */
.brand.pvmx-brand-logo {
    display:inline-flex;
    align-items:center;
    min-width:0;
    text-decoration:none;
}
.pulsvio-full-logo {
    display:block;
    width:auto;
    height:72px;
    min-height:72px;
    max-width:none;
    aspect-ratio:800 / 214;
    object-fit:contain;
}
.pulsvio-login-logo {
    display:block;
    width:auto;
    height:72px;
    min-height:72px;
    max-width:none;
    aspect-ratio:800 / 214;
    margin:0 0 24px;
    object-fit:contain;
}

.hero {
    background:var(--pvmx-color-black);
    color:var(--md-color2);
    border:1px solid color-mix(in srgb, var(--mmx-border-color) 53%, transparent);
    box-shadow:0 8px 24px var(--pvmx-color-legacy-002);
}
.hero h1,
.page-row.mmx-dashboard-heading h2,
.page-row.mmx-page-heading h2,
.login-card h1 {
    letter-spacing:normal !important;
}
.hero p { color:var(--pvmx-color-legacy-003); }
.hero .eyebrow { color:var(--pvmx-color-legacy-004); }
.hero .version { border-color:var(--pvmx-color-legacy-005); }



/* MMX Cards Flat: 1px Mix-Rahmen, schwarz, weiß, 1em Radius. */
:is(.panel, .stats .stat, .mmx-quality-overall, .mmx-quality-module,
    .mmx-quality-metric, .mmx-seolinks-metric, .mmx-quality-optional-card,
    .mmx-status-legend-item, .mmx-quality-accordion, .login-card) {
    border:1px solid color-mix(in srgb,
        var(--mmx-border-color) calc(var(--mmx-border-opacity) * 100%), transparent) !important;
border-radius:var(--mmx-border-radius) !important;
    color:var(--md-color2) !important;
    background:var(--md-color1) !important;
    box-shadow:0 8px 24px var(--pvmx-color-legacy-002);
}
:is(.panel, .mmx-quality-overall, .mmx-quality-module, .mmx-quality-metric,
    .mmx-seolinks-metric, .mmx-quality-accordion, .mmx-status-legend-item) :is(p, small, span, label) {
    color:var(--mmx-text-secondary);
}
:is(.panel, .mmx-quality-overall, .mmx-quality-module, .mmx-quality-metric,
    .mmx-seolinks-metric, .mmx-quality-accordion, .mmx-status-legend-item) :is(h2,h3,h4,strong) {
    color:var(--md-color2);
}
.panel p, .panel .hint, .panel .muted { color:var(--mmx-text-secondary); }
.muted, .hint, .footer-note, .footer { color:var(--muted); }
.stats .stat span { color:var(--muted); }

/* Der Dashboard-Titel, die Filter und die Tabelle gehören weiterhin zusammen. */
.page-row.mmx-dashboard-heading,
.page-row.mmx-page-heading,
.toolbar.mmx-dashboard-toolbar,
.toolbar {
    background:var(--pvmx-color-black) !important;
    color:var(--pvmx-color-white);
}
.page-row.mmx-dashboard-heading h2,
.page-row.mmx-page-heading h2 { color:var(--pvmx-color-legacy-007); }
.page-row.mmx-dashboard-heading p { color:var(--muted); }
.toolbar.mmx-dashboard-toolbar + .table-scroll { border-top:1px solid var(--line); }
.table-scroll,
.site-table,
.site-table th,
.site-table td {
    color:var(--md-color2);
}
.table-scroll {
    background:var(--pvmx-color-black);
    border-color:var(--line);
}
.site-table th {
    background:var(--pvmx-color-legacy-008);
    color:var(--pvmx-color-legacy-009);
    border-color:var(--line);
}
.site-table td { border-color:var(--pvmx-color-legacy-010); }
.site-table tbody tr:hover { background:var(--pvmx-color-legacy-011); }
.site-table td small, .site-table .builder-version { color:var(--muted); }

/* Inputs, Selects, Dateiupload, Formulare, Suchfelder */
:is(.toolbar, .panel, .login-card, .copy-row) :is(input:not([type=checkbox]),select,textarea),
.panel input[type=file],
.copy-row input {
    color:var(--pvmx-color-white);
    background:var(--mmx-surface-input);
    border:1px solid var(--pvmx-color-legacy-012);
    color-scheme:dark;
}
:is(.toolbar, .panel, .login-card, .copy-row) :is(input,textarea)::placeholder { color:var(--pvmx-color-legacy-013); }
input[type=checkbox] { accent-color:var(--md-color0); }

/* MMX Buttons: Default/Primary/Secondary, ohne rotate/transform. */





/* Semantische Sekundäraktion, entspricht .uk-button-secondary. */


/* Rot wird bei gefährlichen Aktionen beibehalten. */





/* Qualitätsauswertung, SEO, Akkordeons, Listen. */
.mmx-quality-overall-caption,
.mmx-quality-overall p,
.mmx-quality-metric :is(span,.mmx-quality-metric-label,.mmx-quality-metric-status),
.mmx-quality-module-copy small,
.mmx-quality-plugin-time,
.mmx-fullscan-summary-foot,
.mmx-seolinks-time,
.mmx-seolinks-metric small,
.mmx-seolinks-caption,
.mmx-quality-optional-card > span,
.mmx-status-legend-item div > span,
.mmx-quality-accordion-count,
.mmx-quality-accordion-item-title small,
.mmx-quality-media-item small,
.mmx-quality-detail-table td small,
.report-log small { color:var(--mmx-text-secondary) !important; }
.mmx-quality-metric strong,
.mmx-quality-overall-value,
.mmx-quality-plugin-current,
.mmx-fullscan-summary-head strong,
.mmx-seolinks-value strong,
.mmx-status-legend-item strong,
.mmx-quality-accordion summary { color:var(--pvmx-color-white) !important; }
.mmx-quality-accordion-content { background:var(--pvmx-color-legacy-008); border-color:var(--line); }
.mmx-quality-optional-card { background:var(--pvmx-color-legacy-014) !important; }
.mmx-quality-module-icon { color:var(--mmx-module-color); }
.mmx-seolinks-separator { color:var(--pvmx-color-legacy-015); }
.mmx-quality-history-scroll,
.mmx-quality-scroll,
.mmx-fullscan-scroll { border-color:var(--line); }
.mmx-quality-preliminary, .mmx-seolinks-preliminary { color:var(--pvmx-color-legacy-016); }

/* Weitere Verwaltungslisten und Tabellen. */
.report-log > div,
.backup-item { background:var(--pvmx-color-legacy-017); border-color:var(--line); color:var(--pvmx-color-white); }
.backup-item small { color:var(--muted); }
.panel hr { border-color:var(--line); }
.pill.success { background:var(--pvmx-color-legacy-018); color:var(--pvmx-color-legacy-019); }
.pill.warning { background:var(--pvmx-color-legacy-020); color:var(--pvmx-color-legacy-021); }
.pill.neutral { background:var(--pvmx-color-legacy-022); color:var(--pvmx-color-legacy-023); }
.pill.danger { background:var(--pvmx-color-legacy-024); color:var(--pvmx-color-legacy-025); }
.links a { border-color:var(--line); color:var(--pvmx-color-legacy-026); }
.links a:hover { background:var(--pvmx-color-legacy-027); }
.mmx-site-tabs { background:var(--pvmx-color-legacy-014); }

/* Benachrichtigungen behalten ihre Statusfarben und Lesbarkeit. */
:is(.notice, .mmx-toast) { box-shadow:0 8px 24px var(--pvmx-color-legacy-002); }
.notice:not(.success,.error,.warning,.info) { background:var(--pvmx-color-legacy-008); color:var(--pvmx-color-white); }
/* Eingabeseiten inklusive Login passend zum dunklen Theme. */
.login-wrap { background:transparent; }
.login-card .eyebrow { color:var(--pvmx-color-legacy-007); }
.login-card p { color:var(--muted); }

@media (max-width: 959px) {
    body::before {
        width:120vw;
        height:120vw;
        top:-50vw;
        right:-65vw;
    }
    body::after {
        width:25vw;
        height:25vw;
        left:-25vw;
        top:50vh;
        bottom:auto;
    }
}
@media (max-width: 640px) {

    .hero:not(.pvmx-hero-compact) { padding:22px; }
}
@media (prefers-reduced-motion: reduce) {
    
}

/* ============================================================
   PULSVIO v1.2.13 | design tokens and component refinements
   CSS-only over the established WordPress-Monitor markup.
   ============================================================ */
:root {
    /* Legacy aliases for CSS served by the original application. */
    --pvmx-border-color: #7b4eff;
    --pvmx-border-opacity: .53;
    --pvmx-border-radius: 16px;
    --mmx-border-color: var(--pvmx-border-color);
    --mmx-border-opacity: var(--pvmx-border-opacity);
    --mmx-border-radius: var(--pvmx-border-radius);
    /* MMX section and grid gradients, namespace pvmx */
    --pvmx-gradient-surface-angle: 120deg;
    --pvmx-gradient-surface-start: var(--md-color0);
    --pvmx-gradient-surface-end: var(--md-color1);
    --pvmx-gradient-surface-overlay-color: #000000;
    --pvmx-gradient-surface-overlay-opacity: .60;

    --pvmx-shadow-inner-highlight-x: 2px;
    --pvmx-shadow-inner-highlight-y: 2px;
    --pvmx-shadow-inner-highlight-blur: 4px;
    --pvmx-shadow-inner-highlight-spread: 0px;
    --pvmx-shadow-inner-highlight-color: #ffffff;
    --pvmx-shadow-inner-highlight-opacity: .05;

    --pvmx-shadow-inner-depth-x: -6px;
    --pvmx-shadow-inner-depth-y: -7px;
    --pvmx-shadow-inner-depth-blur: 12px;
    --pvmx-shadow-inner-depth-spread: 0px;
    --pvmx-shadow-inner-depth-color: #4000ff;
    --pvmx-shadow-inner-depth-opacity: .12;

    --pvmx-shadow-outer-glow-x: 0px;
    --pvmx-shadow-outer-glow-y: 18px;
    --pvmx-shadow-outer-glow-blur: 35px;
    --pvmx-shadow-outer-glow-spread: 0px;
    --pvmx-shadow-outer-glow-color: #4000ff;
    --pvmx-shadow-outer-glow-opacity: .22;

    --pvmx-warning-base: #ffd43b;
    --pvmx-warning-light: #fff2b3;
    --pvmx-danger-base: #ff5266;
    --pvmx-danger-light: #ffd4db;
    --pvmx-check-light: #e6f6eb;
    --pvmx-check-border: #28a65b;
    --pvmx-check-hover: #42d77d;
    --pvmx-check-ink: #17663b;
    --pvmx-check-ink-hover: #103a20;
}

/* MMX grid.gradient + grid.services translated into existing Pulsvio tiles.
   Do not change the table/toolbar surfaces or informational module squares. */
:is(.stats .stat, .pvmx-quality-overall, .mmx-quality-overall, .pvmx-quality-metric, .mmx-quality-metric,
    .pvmx-seolinks-metric, .mmx-seolinks-metric, .pvmx-quality-optional-card, .mmx-quality-optional-card, .pvmx-status-legend-item, .mmx-status-legend-item,
    .pvmx-quality-accordion, .mmx-quality-accordion) {
    border:1px solid color-mix(in srgb,
        var(--pvmx-border-color) calc(var(--pvmx-border-opacity) * 100%), transparent) !important;
border-radius:var(--pvmx-border-radius) !important;
    color:var(--md-color2) !important;
    background:linear-gradient(
            color-mix(in srgb, var(--pvmx-gradient-surface-overlay-color)
                calc(var(--pvmx-gradient-surface-overlay-opacity) * 100%), transparent),
            color-mix(in srgb, var(--pvmx-gradient-surface-overlay-color)
                calc(var(--pvmx-gradient-surface-overlay-opacity) * 100%), transparent)
        ),
        linear-gradient(var(--pvmx-gradient-surface-angle),
            var(--pvmx-gradient-surface-start), var(--pvmx-gradient-surface-end)) !important;
    box-shadow:inset var(--pvmx-shadow-inner-highlight-x) var(--pvmx-shadow-inner-highlight-y)
            var(--pvmx-shadow-inner-highlight-blur) var(--pvmx-shadow-inner-highlight-spread)
            color-mix(in srgb, var(--pvmx-shadow-inner-highlight-color)
                calc(var(--pvmx-shadow-inner-highlight-opacity) * 100%), transparent),
        inset var(--pvmx-shadow-inner-depth-x) var(--pvmx-shadow-inner-depth-y)
            var(--pvmx-shadow-inner-depth-blur) var(--pvmx-shadow-inner-depth-spread)
            color-mix(in srgb, var(--pvmx-shadow-inner-depth-color)
                calc(var(--pvmx-shadow-inner-depth-opacity) * 100%), transparent),
        var(--pvmx-shadow-outer-glow-x) var(--pvmx-shadow-outer-glow-y)
            var(--pvmx-shadow-outer-glow-blur) var(--pvmx-shadow-outer-glow-spread)
            color-mix(in srgb, var(--pvmx-shadow-outer-glow-color)
                calc(var(--pvmx-shadow-outer-glow-opacity) * 100%), transparent) !important;
}
/* Pulsvio module cards: full-height module color rail, shared card geometry. */
:root {
    --pvmx-module-dashboard: #0f3140;
    --pvmx-module-content-inspector: #18275a;
    --pvmx-module-accessibility: #24323a;
    --pvmx-module-seo: #4a2c1d;
    --pvmx-module-link-assistant: #262d63;
    --pvmx-module-link-checker: #123849;
    --pvmx-module-media-check: #4b3220;
    --pvmx-module-ai-engine: #162a69;
    --pvmx-module-icon-color: #c8cadb;
}
.mmx-quality-modules {
    display:grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap:14px;
}
.pvmx-quality-module, .mmx-quality-module {
    --pvmx-module-accent: var(--pvmx-module-dashboard);
    display:flex;
    align-items:stretch;
    gap:0;
    min-height:99px;
    padding:0 !important;
    overflow:hidden;
    background:var(--pvmx-color-black) !important;
    border:1px solid var(--pvmx-border-color) !important;
    border-radius:var(--pvmx-radius-panel) !important;
    box-shadow:none !important;
}
.mmx-quality-modules > :nth-child(1) {--pvmx-module-accent:var(--pvmx-module-dashboard);}
.mmx-quality-modules > :nth-child(2) {--pvmx-module-accent:var(--pvmx-module-content-inspector);}
.mmx-quality-modules > :nth-child(3) {--pvmx-module-accent:var(--pvmx-module-accessibility);}
.mmx-quality-modules > :nth-child(4) {--pvmx-module-accent:var(--pvmx-module-seo);}
.mmx-quality-modules > :nth-child(5) {--pvmx-module-accent:var(--pvmx-module-link-assistant);}
.mmx-quality-modules > :nth-child(6) {--pvmx-module-accent:var(--pvmx-module-link-checker);}
.mmx-quality-modules > :nth-child(7) {--pvmx-module-accent:var(--pvmx-module-media-check);}
.mmx-quality-modules > :nth-child(8) {--pvmx-module-accent:var(--pvmx-module-ai-engine);}
.pvmx-quality-module-icon, .mmx-quality-module-icon {
    align-self:stretch;
    display:grid;
    place-items:center;
    width:90px;
    height:auto;
    min-height:99px;
    flex:0 0 90px;
    border-radius:0 !important;
    background:var(--pvmx-module-accent) !important;
    color:var(--pvmx-module-icon-color) !important;
}
.pvmx-quality-module-icon svg, .mmx-quality-module-icon svg {width:36px;height:36px;}
.pvmx-quality-module-copy, .mmx-quality-module-copy {
    align-self:center;
    padding:16px 20px;
    min-width:0;
}
@media(max-width:640px) {
    .mmx-quality-modules {grid-template-columns:1fr;}
    .mmx-quality-module-icon {width:76px;flex-basis:76px;}
}
/* Dashboard left edges: title, subtitle and search line align with first table cell. */
.page-row.pvmx-dashboard-heading {
    padding-left:16px !important;
    padding-right:16px !important;
}
.page-row.pvmx-dashboard-heading h2 {
    color:var(--pvmx-color-white) !important;
    letter-spacing:normal !important;
}
.page-row.pvmx-dashboard-heading p {
    color:var(--pvmx-color-white) !important;
}
.toolbar.pvmx-dashboard-toolbar {
    padding-left:16px !important;
    padding-right:16px !important;
}
/* No gap between search controls and first table header. */
.toolbar.pvmx-dashboard-toolbar { margin-bottom:0 !important; }
.toolbar.pvmx-dashboard-toolbar + .table-scroll { margin-top:0 !important; }

/* Shared radius and hover timing, no rotation and no movement. */

/* Header navigation: original dark MMX button style. */




/* Other actions retain the dark, violet-outlined MMX behavior. */

/* Bright, legible warning and danger tones on dark surfaces. */
:is(.pvmx-phase1-update-count, .pvmx-site-signal:not(.pvmx-security-warning),
     .site-table small.target, .pill.warning, .pvmx-quality-preliminary,
     .pvmx-seolinks-preliminary) {
    color:var(--pvmx-warning-base) !important;
}
:is(.pvmx-security-warning, .pill.danger) {
    color:var(--pvmx-danger-base) !important;
}
.pill.warning { background:var(--pvmx-color-legacy-032) !important; }
.pill.danger { background:var(--pvmx-color-legacy-033) !important; }
.pvmx-site-signal { text-decoration:none; }
.pvmx-site-signal:hover { text-decoration:underline; }

@media (max-width: 760px) {
    .page-row.pvmx-dashboard-heading,
    .toolbar.pvmx-dashboard-toolbar { padding-left:12px !important; padding-right:12px !important; }
}
@media (prefers-reduced-motion: reduce) {
    
}


/* =============================================================
   PULSVIO v1.2.13 | UI polish only, no change in business logic
   ============================================================= */
:root {
    /* Subtle card edge, inner depth and controlled violet outer halo. */
    --pvmx-shadow-outer-glow-x: 0px;
    --pvmx-shadow-outer-glow-y: 0px;
    --pvmx-shadow-outer-glow-blur: 16px;
    --pvmx-shadow-outer-glow-spread: 0px;
    --pvmx-shadow-outer-glow-opacity: .12;
    --pvmx-shadow-inner-depth-opacity: .10;

    --pvmx-control-violet: #9974ff;
    --pvmx-control-hover: #c4aaff;
    --pvmx-control-border: color-mix(in srgb, var(--pvmx-border-color) 53%, transparent);
}

/* Consistent brand navigation, action buttons, and site tabs.
   Do not override the warning/danger semantics or green check actions. */


/* Hero navigation takes its inspiration from the reference screenshot. */
.pvmx-hero-compact {
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
    gap:24px !important;
    padding:16px 24px !important;
    min-height:0 !important;
}
.pvmx-hero-content {
    display:flex !important;
    align-items:center !important;
    min-width:0;
    flex:0 0 auto;
}
.pvmx-hero-meta {
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
    min-height:40px;
}
.pvmx-hero-meta .version,
.pvmx-hero-meta .mmx-phase2-label {
    margin:0 !important;
}
.pvmx-hero-nav {
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:16px !important;
    margin:0 !important;
    margin-left:auto !important;
}
.pvmx-hero-nav .hero-nav-button {
    min-height:0;
}
@media (max-width: 1100px) {
    .pvmx-hero-compact {
        flex-direction:column !important;
        align-items:stretch !important;
        gap:18px !important;
    }
    .pvmx-hero-nav {
        justify-content:flex-start !important;
        margin-left:0 !important;
    }
}
@media (max-width: 760px) {
    .pvmx-hero-compact {
        padding:14px 16px !important;
    }
    .pvmx-hero-meta {
        min-height:36px;
        gap:12px !important;
    }
    .pvmx-hero-nav {
        gap:12px !important;
    }
    .pvmx-hero-nav .hero-nav-button {
        min-height:0;
        width:100%;
    }
}




/* The neutral actions and control buttons share a black surface,
   softly violet type, identical outline, hover, and corner geometry. */
:is(.pvmx-action-button, .button.pvmx-button, .topbar-button.pvmx-topbar-button)
    :is(svg) { flex-shrink:0; }


/* Never restyle the semantic destructive action as a violet neutral action. */


/* All check actions use the same two states, including legacy mmx buttons.
   Specific selectors intentionally take precedence over generic .button.primary rules. */



/* Standalone full scan is a content container, never a gradient tile. */
.mmx-fullscan.mmx-quality-panel {
    background:var(--pvmx-color-black) !important;
    background-image:none !important;
    box-shadow:none !important;
}

/* ============================================================
   PULSVIO 1.2.14 | Unified dark surfaces and auth screens.
   Containers carry content, gradient belongs to metric tiles.
   ============================================================ */
:is(.login-card, .login-wrap .panel) {
    background:var(--pvmx-color-black) !important;
    background-image:none !important;
    border:1px solid color-mix(in srgb, var(--pvmx-border-color) 35%, transparent) !important;
border-radius:var(--pvmx-border-radius, var(--pvmx-radius-16px)) !important;
    box-shadow:none !important;
}
.login-wrap { background:transparent !important; color:var(--md-color2) !important; }
.login-card :is(h1,h2,h3,strong,label) { color:var(--pvmx-color-white) !important; }
.login-card :is(p,small,.hint,.muted) { color:var(--mmx-text-secondary, var(--pvmx-color-legacy-086)) !important; }
.login-card :is(input:not([type=checkbox]),select,textarea) {
    color:var(--pvmx-color-white) !important;
    background:var(--mmx-surface-input, var(--pvmx-color-legacy-008)) !important;
    border:1px solid var(--pvmx-color-legacy-034) !important;
border-radius:var(--pvmx-radius-10-4px) !important;
}
.login-card :is(input,select,textarea):focus-visible {
    outline:2px solid var(--pvmx-control-violet, var(--pvmx-color-legacy-035)) !important;
    outline-offset:2px;
}
/* Avoid invisible focus on dark surfaces. */
:is(.hero-nav .hero-nav-button, .pvmx-site-tabs a.pvmx-site-tab,
  .pvmx-action-button, .pvmx-button, .pvmx-topbar-button):focus-visible {
    
    outline-offset:3px;
}

/* ============================================================
   PULSVIO v1.2.22 | SINGLE BUTTON DESIGN SYSTEM
   All button colors and border radii use design tokens.
   Dimensions are px; --small only reduces font size and Y padding.
   ============================================================ */
:root {
    --pvmx-website-border: #3e678d;
    --pvmx-website-radius: 18px;
    --pvmx-website-background: linear-gradient(115deg, #191039 0%, #0e0924 55%, #05050b 100%);
    --pvmx-website-lime: #ebffb1;
    --pvmx-website-arrow: #000000;
    --pvmx-website-glow: rgba(62,103,141,.20);
    --pvmx-button-radius: 14px;
    --pvmx-button-font-size: 16px;
    --pvmx-button-padding-y: 12px;
    --pvmx-button-padding-x: 20px;
    --pvmx-button-small-font-size: 14px;
    --pvmx-button-small-padding-y: 8px;
    --pvmx-button-border-width: 1px;
    --pvmx-button-surface: #000000;
    --pvmx-button-white: #ffffff;
    --pvmx-button-violet: #4000ff;
    --pvmx-button-violet-ink: #9974ff;
    --pvmx-button-violet-hover-ink: #c4aaff;
    --pvmx-button-violet-border: rgba(123,78,255,.53);
    --pvmx-button-violet-hover-bg: rgba(64,0,255,.10);
    --pvmx-button-violet-hover-glow: 0 0 11px rgba(64,0,255,.20);
    --pvmx-button-selected-bg: #1A0A5D;
    --pvmx-button-check-border: #28a65b;
    --pvmx-button-check-ink: #42d77d;
    --pvmx-button-check-bg: #17663b;
    --pvmx-button-check-pressed: #103a20;
    --pvmx-button-check-glow: 0 0 18px rgba(66,215,125,.45);
    --pvmx-button-danger-border: #ff5266;
    --pvmx-button-danger-ink: #ffd4db;
    --pvmx-button-danger-bg: #2b1014;
    --pvmx-button-danger-hover-bg: #491c22;
}
/* Explicit variant classes are the ONLY owners of button appearance. */
.pvmx-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    box-sizing:border-box;
    font:inherit;
    font-size:var(--pvmx-button-font-size);
    font-weight:600;
    line-height:1.2;
    padding:var(--pvmx-button-padding-y) var(--pvmx-button-padding-x);
    border:var(--pvmx-button-border-width) solid transparent;
border-radius:var(--pvmx-button-radius) !important;
    text-decoration:none;
    cursor:pointer;
    transform:none;
    transition:background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}
.pvmx-button--small {
    font-size:var(--pvmx-button-small-font-size);
    padding-top:var(--pvmx-button-small-padding-y);
    padding-bottom:var(--pvmx-button-small-padding-y);
}
/* Secondary is the visual default for navigation and neutral actions. */
.pvmx-button--secondary {
    background:var(--pvmx-button-surface) !important;
    color:var(--pvmx-button-violet-ink) !important;
    border-color:var(--pvmx-button-violet-border) !important;
    box-shadow:none !important;
}
.pvmx-button--secondary:not(.is-active):is(:hover,:focus-visible):not(:disabled) {
    background:var(--pvmx-button-violet-hover-bg) !important;
    color:var(--pvmx-button-violet-hover-ink) !important;
    border-color:var(--pvmx-button-violet) !important;
    box-shadow:var(--pvmx-button-violet-hover-glow) !important;
}
/* is-active: selected page/tab, not a transient click. */
.pvmx-button--secondary.is-active,
.pvmx-button--secondary.is-active:is(:hover,:focus-visible) {
    background:var(--pvmx-button-selected-bg) !important;
    color:var(--pvmx-button-white) !important;
    border-color:var(--pvmx-button-violet) !important;
    box-shadow:none !important;
}
.pvmx-button--primary {
    background:var(--pvmx-button-violet) !important;
    color:var(--pvmx-button-white) !important;
    border-color:var(--pvmx-button-violet) !important;
    box-shadow:none !important;
}
.pvmx-button--primary:is(:hover,:focus-visible):not(:disabled) {
    background:var(--pvmx-button-violet) !important;
    color:var(--pvmx-button-white) !important;
    border-color:var(--pvmx-button-violet-hover-ink) !important;
    box-shadow:var(--pvmx-button-violet-hover-glow) !important;
}
.pvmx-button--check {
    background:transparent !important;
    color:var(--pvmx-button-check-ink) !important;
    border-color:var(--pvmx-button-check-border) !important;
    box-shadow:none !important;
}
.pvmx-button--check:is(:hover,:focus-visible):not(:disabled) {
    background:var(--pvmx-button-check-bg) !important;
    color:var(--pvmx-button-white) !important;
    border-color:var(--pvmx-button-check-ink) !important;
    box-shadow:var(--pvmx-button-check-glow) !important;
}
.pvmx-button--check:active:not(:disabled) {
    background:var(--pvmx-button-check-pressed) !important;
}
.pvmx-button--danger {
    background:var(--pvmx-button-danger-bg) !important;
    color:var(--pvmx-button-danger-ink) !important;
    border-color:var(--pvmx-button-danger-border) !important;
    box-shadow:none !important;
}
.pvmx-button--danger:is(:hover,:focus-visible):not(:disabled) {
    background:var(--pvmx-button-danger-hover-bg) !important;
    color:var(--pvmx-button-white) !important;
    border-color:var(--pvmx-button-danger-border) !important;
}
.pvmx-button--icon {
    width:40px;
    height:40px;
    padding:0;
}
.pvmx-button:disabled, .pvmx-button[aria-disabled="true"] {
    opacity:.45;
    cursor:not-allowed;
    box-shadow:none !important;
}
.pvmx-button:focus-visible {
    outline:2px solid var(--pvmx-button-violet-hover-ink);
    outline-offset:3px;
}
@media (prefers-reduced-motion: reduce) {
    .pvmx-button { transition:none; }
}

/* Single detail-tab container, no duplicate earlier definitions. */
.pvmx-site-tabs {
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    padding:9px !important;
    background:none !important;
    border:1px solid color-mix(in srgb, var(--pvmx-border-color) calc(var(--pvmx-border-opacity) * 100%), transparent) !important;
border-radius:var(--pvmx-radius-panel) !important;
    box-shadow:0 2px 8px var(--pvmx-shadow-tab) !important;
}
.pvmx-site-tabs :is(.pvmx-site-tab,a.pvmx-site-tab,span.pvmx-site-tab) {
    box-sizing:border-box;
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:45px;
    padding:12px 17px;
}
/* All three controls share their table action column width. */
.site-table .mmx-site-actions, .site-table .pvmx-site-actions {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:9px;
}
.site-table :is(.mmx-site-actions,.pvmx-site-actions) > form,
.site-table :is(.mmx-site-actions,.pvmx-site-actions) > :is(a,button) {
    display:block;
    width:100%;
    min-width:0;
    margin:0;
}
.site-table :is(.mmx-site-actions,.pvmx-site-actions) :is(button.pvmx-button,a.pvmx-button) {
    display:inline-flex;
    width:100%;
    min-width:0;
    box-sizing:border-box;
    justify-content:center;
}

/* Unified check icon and action sizing. */
.pvmx-button--check .pvmx-button-sync {width:18px;height:18px;flex:none;display:inline-block;}

/* Lesbarkeit der Statistikdetails */
.stats .stat .mmx-stat-detail {
    color: var(--pvmx-button-white) !important;
}


/* ============================================================
   PULSVIO v1.2.28 | Einheitliche Meldungssemantik
   Dauerhafte Hinweise und schwebende Toasts teilen die Palette.
   ============================================================ */
:root {
    --pvmx-notice-radius: var(--pvmx-radius-panel);
    --pvmx-notice-text: var(--pvmx-color-white);
    --pvmx-notice-success: #42d77d;
    --pvmx-notice-success-bg: #111b15;
    --pvmx-notice-success-border: #278957;
    --pvmx-notice-warning: #ffd166;
    --pvmx-notice-warning-bg: #211b0e;
    --pvmx-notice-warning-border: #d9a42b;
    --pvmx-notice-error: #ff7185;
    --pvmx-notice-error-bg: #251116;
    --pvmx-notice-error-border: #d84b60;
    --pvmx-notice-info: #81baff;
    --pvmx-notice-info-bg: #0e1826;
    --pvmx-notice-info-border: #3e678d;
    --pvmx-notice-neutral: #d4d4df;
    --pvmx-notice-neutral-bg: #19191e;
    --pvmx-notice-neutral-border: #626270;
}
/* Bestehende .notice-Komponenten aller Tabs verwenden dieselbe
   Farblogik. Keine hellen Kästen mit schlecht lesbarer Schrift mehr. */
.notice:not(.mmx-toast), .pvmx-notice {
    --pvmx-notice-accent: var(--pvmx-notice-neutral);
    --pvmx-notice-background: var(--pvmx-notice-neutral-bg);
    --pvmx-notice-outline: var(--pvmx-notice-neutral-border);
    box-sizing:border-box;
    background:var(--pvmx-notice-background) !important;
    color:var(--pvmx-notice-text) !important;
    border:1px solid var(--pvmx-notice-outline) !important;
    border-radius:var(--pvmx-notice-radius) !important;
    box-shadow:none !important;
    overflow-wrap:anywhere;
}
.notice.success {--pvmx-notice-accent:var(--pvmx-notice-success);--pvmx-notice-background:var(--pvmx-notice-success-bg);--pvmx-notice-outline:var(--pvmx-notice-success-border);}
.notice.warning {--pvmx-notice-accent:var(--pvmx-notice-warning);--pvmx-notice-background:var(--pvmx-notice-warning-bg);--pvmx-notice-outline:var(--pvmx-notice-warning-border);}
.notice.error, .notice.danger {--pvmx-notice-accent:var(--pvmx-notice-error);--pvmx-notice-background:var(--pvmx-notice-error-bg);--pvmx-notice-outline:var(--pvmx-notice-error-border);}
.notice.info {--pvmx-notice-accent:var(--pvmx-notice-info);--pvmx-notice-background:var(--pvmx-notice-info-bg);--pvmx-notice-outline:var(--pvmx-notice-info-border);}
.notice :is(strong,small,span,p,a), .pvmx-notice .pvmx-notice-message {color:inherit !important;}
.pvmx-notice {display:flex;align-items:flex-start;gap:12px;padding:16px !important;}
.pvmx-notice-icon {flex:none;display:grid;place-items:center;width:24px;height:24px;border:2px solid var(--pvmx-notice-accent);border-radius:50%;color:var(--pvmx-notice-accent) !important;font-weight:700;line-height:1;}
.pvmx-notice-copy {min-width:0;display:flex;flex-direction:column;gap:5px;}
.pvmx-notice .pvmx-notice-title {color:var(--pvmx-notice-accent) !important;font-size:16px;line-height:1.3;}
.pvmx-notice-message {line-height:1.5;}
/* Vorhandene Toasts bleiben schwebende Aktionsmeldungen.
   Farbe, Rahmen und Kontrast werden an dasselbe System angeglichen. */
.mmx-toast.pvmx-toast {background:var(--pvmx-notice-success-bg) !important;border-color:var(--pvmx-notice-success-border) !important;color:var(--pvmx-notice-text) !important;border-radius:var(--pvmx-notice-radius) !important;}
.mmx-toast.pvmx-toast--error {background:var(--pvmx-notice-error-bg) !important;border-color:var(--pvmx-notice-error-border) !important;}
.mmx-toast.pvmx-toast .mmx-toast-icon {background:var(--pvmx-notice-success-border) !important;color:var(--pvmx-notice-text) !important;}
.mmx-toast.pvmx-toast--error .mmx-toast-icon {background:var(--pvmx-notice-error-border) !important;}
.mmx-toast.pvmx-toast .mmx-toast-text, .mmx-toast.pvmx-toast .mmx-toast-text strong {color:var(--pvmx-notice-text) !important;}


/* Pulsvio 1.2.29 · Technik: two overview cards and full details below. */
.pvmx-tech-actions {display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px}
.pvmx-tech-actions form {margin:0}
.pvmx-tech-actions .pvmx-button--check {min-height:0}
.pvmx-tech-overview-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}
.pvmx-tech-overview-card {min-width:0;margin:0!important}
.pvmx-tech-overview-card h3 {margin-top:0}
.pvmx-tech-check-date {margin:5px 0 18px}
.pvmx-tech-check-date strong {color:var(--pvmx-color-white)}
.pvmx-health-summary {color:var(--pvmx-color-white)}
/* Hide redundant diagnostic update form in the retained Site Health detail output only. */
.pvmx-sitehealth-details form:has(input[name="action"][value="phase1_sitehealth_refresh"]) {display:none!important}
@media(max-width:900px) {
 .pvmx-tech-overview-grid {grid-template-columns:1fr}
 .pvmx-tech-actions {justify-content:flex-start}
}

/* Pulsvio v1.2.30: Technikübersicht übernimmt den Statuskarten-Look. */
:root {
 --pvmx-tech-tile-gradient: linear-gradient(125deg, #1a0b49 0%, #080413 75%, #04020a 100%);
 --pvmx-tech-tile-border: #6742b5;
 --pvmx-tech-tile-glow: 0 0 16px rgba(64,0,255,.12);
 --pvmx-tech-green: #42d77d;
 --pvmx-tech-yellow: #ffd166;
 --pvmx-tech-red: #ff7185;
 --pvmx-tech-muted: #bdb5ce;
}
.pvmx-tech-overview-grid {align-items:stretch}
.pvmx-tech-overview-card {
 background:var(--pvmx-tech-tile-gradient)!important;
 background-image:var(--pvmx-tech-tile-gradient)!important;
 border:1px solid var(--pvmx-tech-tile-border)!important;
 box-shadow:var(--pvmx-tech-tile-glow)!important;
 border-radius:var(--pvmx-radius-panel)!important;
 padding:28px!important;
}
.pvmx-tech-overview-card h3 {color:var(--pvmx-color-white)!important;margin:0 0 25px}
.pvmx-health-summary {display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 18px}
.pvmx-health-separator {color:var(--pvmx-tech-muted)}
.pvmx-health-count--critical,.pvmx-response-time--danger {color:var(--pvmx-tech-red)!important}
.pvmx-health-count--warning,.pvmx-response-time--warning {color:var(--pvmx-tech-yellow)!important}
.pvmx-health-count--success,.pvmx-response-time--success {color:var(--pvmx-tech-green)!important}
.pvmx-health-count--neutral,.pvmx-response-time--neutral {color:var(--pvmx-tech-muted)!important}
.pvmx-health-preview {border-top:1px solid var(--pvmx-tech-tile-border);margin-top:12px}
.pvmx-health-preview-row {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:8px 0;border-bottom:1px solid var(--pvmx-color-legacy-010)}
/* Antwortzeit nutzt dieselbe native Ampel und denselben Textabstand wie Erreichbarkeit und HTTP-Status. */
@media(max-width:650px){.pvmx-health-preview-row{grid-template-columns:1fr}.pvmx-tech-overview-card{padding:18px!important}}

/* Pulsvio 1.2.35 | Verlauf: Filter-Controls und einheitlicher Infostatus. */
:root {
    --pvmx-history-filter-gap: 14px;
    --pvmx-history-select-padding-x: 16px;
    --pvmx-history-select-arrow-room: 52px;
    --pvmx-history-select-arrow-inset: 20px;
    --pvmx-history-select-arrow-size: 12px;
    --pvmx-history-select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23ffffff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.pvmx-history-view form select {
    box-sizing: border-box;
    -webkit-appearance: none;
    appearance: none;
    padding-left: var(--pvmx-history-select-padding-x) !important;
    padding-right: var(--pvmx-history-select-arrow-room) !important;
    background-image: var(--pvmx-history-select-arrow) !important;
    background-repeat: no-repeat !important;
    background-size: var(--pvmx-history-select-arrow-size) auto !important;
    background-position: right var(--pvmx-history-select-arrow-inset) center !important;
}
.pvmx-history-view .pvmx-history-filter-button {
    width: auto;
    min-height: 0;
    white-space: nowrap;
}
.pvmx-history-empty-note {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    background: var(--pvmx-notice-info-bg);
    border: 1px solid var(--pvmx-notice-info-border);
    border-radius: var(--pvmx-notice-radius);
    color: var(--pvmx-notice-text);
}
.pvmx-history-info-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    border: 2px solid var(--pvmx-notice-info);
    border-radius: 50%;
    color: var(--pvmx-notice-info);
    font-weight: 700;
}
.pvmx-history-empty-note strong {color: var(--pvmx-notice-info);}
.pvmx-history-empty-note p {margin: 5px 0 0; color: var(--pvmx-notice-text);}


/* Pulsvio Login: logo 72px and the shared version badge */
.pvmx-login-brand-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin:0 0 24px;
}
.login-card .pulsvio-login-logo {
    display:block;
    flex:0 1 auto;
    width:auto;
    max-width:calc(100% - 90px);
    height:72px;
    min-height:0;
    margin:0;
    object-fit:contain;
    object-position:left center;
}
.login-card .pvmx-login-version {
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:5px 12px;
    border:1px solid var(--pvmx-control-violet);
    border-radius:var(--pvmx-button-radius);
    color:var(--pvmx-color-white);
    font-size:14px;
    font-weight:600;
    line-height:1.2;
    white-space:nowrap;
}
.login-card .pvmx-button.full {width:100%;}
.login-card .login-card-footer {margin:18px 0 0;text-align:center;}
.login-card .login-card-footer a {color:inherit;}
@media(max-width:420px) {
    .login-card .pulsvio-login-logo {height:60px;}
}

/* Pulsvio v1.2.39 | Dashboard polish */
:root {
 --pvmx-dashboard-line: var(--pvmx-button-violet-border);
 --pvmx-dashboard-site-name-size: 21px;
 --pvmx-dashboard-select-inset: 20px;
 --pvmx-dashboard-select-text-room: 52px;
 --pvmx-dashboard-select-arrow-size: 12px;
 --pvmx-dashboard-select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23ffffff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.page-row.pvmx-dashboard-heading {
 border-left:1px solid var(--pvmx-dashboard-line);
 border-top:1px solid var(--pvmx-dashboard-line);
 border-right:1px solid var(--pvmx-dashboard-line);
 padding-bottom:18px!important;
}
.toolbar.mmx-dashboard-toolbar.pvmx-dashboard-toolbar {
 border-left:1px solid var(--pvmx-dashboard-line)!important;
 border-right:1px solid var(--pvmx-dashboard-line)!important;
}
.toolbar.pvmx-dashboard-toolbar :is(#site-filter,#site-sort) {
 appearance:none!important;-webkit-appearance:none!important;
 padding-right:var(--pvmx-dashboard-select-text-room)!important;
 background-image:var(--pvmx-dashboard-select-arrow)!important;
 background-repeat:no-repeat!important;
 background-size:var(--pvmx-dashboard-select-arrow-size) auto!important;
 background-position:right var(--pvmx-dashboard-select-inset) center!important;
}
.site-table .site-name {font-size:var(--pvmx-dashboard-site-name-size)!important;line-height:1.3;}
.site-table .links a {display:inline-flex;align-items:center;justify-content:center;}
.site-table .links a svg {display:block;width:21px;height:21px;flex:none;}

/* Pulsvio v1.2.42: Automatik & Reports, Auswahlpfeile wie im Dashboard */
.automation-form select {
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;
    padding-right: var(--pvmx-dashboard-select-text-room) !important;
    background-image: var(--pvmx-dashboard-select-arrow) !important;
    background-repeat: no-repeat !important;
    background-size: var(--pvmx-dashboard-select-arrow-size) auto !important;
    background-position: right var(--pvmx-dashboard-select-inset) center !important;
}

/* Pulsvio v1.2.43: Automatik & Reports, gemeinsame Aktionsleiste und Checkbox-Stil */
:root {
    --pvmx-automation-check-size:23px;
    --pvmx-automation-check-radius:6px;
}
.automation-form .pvmx-automation-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:12px 16px;
    padding-bottom:16px;
    margin-bottom:20px;
    border-bottom:1px solid var(--pvmx-dashboard-line);
}
.automation-form .pvmx-automation-head h3 { margin:0; }
.automation-form .pvmx-automation-head .pvmx-button { margin:0; }
.automation-form .pvmx-automation-check {
    display:flex;
    align-items:center;
    gap:12px;
    cursor:pointer;
}
/* The native input stays functional; the visible square and its SVG are HTML elements. */
.automation-form .pvmx-automation-check { position:relative; }
.automation-form .pvmx-automation-check input[type="checkbox"] {
    position:absolute;
    opacity:0;
    width:var(--pvmx-automation-check-size);
    height:var(--pvmx-automation-check-size);
    margin:0;
    cursor:pointer;
}
.automation-form .pvmx-automation-check .pvmx-check-box {
    box-sizing:border-box;
    flex:0 0 var(--pvmx-automation-check-size);
    width:var(--pvmx-automation-check-size);
    height:var(--pvmx-automation-check-size);
    border:1px solid var(--pvmx-button-violet-border);
    border-radius:var(--pvmx-automation-check-radius);
    background:var(--pvmx-button-surface);
    display:flex;
    align-items:center;
    justify-content:center;
    pointer-events:none;
    transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.automation-form .pvmx-automation-check .pvmx-check-box svg {
    display:block;
    width:17px;
    height:17px;
    fill:none;
    stroke:var(--pvmx-button-white);
    stroke-width:2.5;
    stroke-linecap:round;
    stroke-linejoin:round;
    opacity:0;
}
.automation-form .pvmx-automation-check input[type="checkbox"]:checked + .pvmx-check-box {
    background:var(--pvmx-button-selected-bg);
    border-color:var(--pvmx-button-violet);
}
.automation-form .pvmx-automation-check input[type="checkbox"]:checked + .pvmx-check-box svg { opacity:1; }
.automation-form .pvmx-automation-check input[type="checkbox"]:is(:hover,:focus-visible) + .pvmx-check-box {
    border-color:var(--pvmx-button-violet);
    box-shadow:var(--pvmx-button-violet-hover-glow);
}
@media (max-width:540px) {
    .automation-form .pvmx-automation-head { align-items:flex-start;flex-direction:column; }
}


/* Report-log action uses the exact same header and button class as save. */
.automation-panel > .pvmx-automation-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:12px 16px;
    padding-bottom:16px;
    margin-bottom:20px;
    border-bottom:1px solid var(--pvmx-dashboard-line);
}
.automation-panel > .pvmx-automation-head h3,
.automation-panel > .pvmx-automation-head .pvmx-log-actions,
.automation-panel > .pvmx-automation-head .pvmx-button { margin:0; }
@media (max-width:540px) {
    .automation-panel > .pvmx-automation-head { align-items:flex-start;flex-direction:column; }
}

/* v1.2.47 | Wordfence settings */
.pvmx-wfi-sync .pvmx-wfi-cron-box { background:var(--pvmx-button-surface,#000);border:1px solid var(--pvmx-button-violet-border,#604583);border-radius:14px;padding:16px;margin:16px 0; }
.pvmx-wfi-sync .pvmx-wfi-cron-box label { margin:0; }
.pvmx-wfi-sync .pvmx-wfi-cron-box input { width:100%;box-sizing:border-box; }
.pvmx-wfi-sync .pvmx-wfi-copy-actions { display:flex;justify-content:flex-end;margin-top:12px; }
.pvmx-wfi-sync .pvmx-wfi-cli { margin:20px 0; }
.pvmx-wfi-sync .pvmx-wfi-code { margin-top:10px;background:#12101b;border:1px solid #51416e;border-radius:12px;padding:14px;overflow-wrap:anywhere; }
.pvmx-wfi-sync .pvmx-wfi-info { display:flex;align-items:flex-start;gap:12px;border:1px solid #395a94;background:#101626;color:#c9d8f2;padding:14px;border-radius:12px; }
.pvmx-wfi-sync .pvmx-wfi-info-icon { color:#86b8ff;font-weight:700;font-style:normal;font-size:18px; }

/* Pulsvio v1.2.48: Backup-Liste und Download-Aktion */
.backup-list.mmx-scroll-count {
    min-width:0;
    scrollbar-width:thin;
    overscroll-behavior:contain;
}
.backup-list.mmx-scroll-count[data-mmx-overflow="true"] {
    overflow-y:auto;
    padding-right:5px;
}
.backup-list .backup-item .buttons > a.pvmx-button {
    border-radius:var(--pvmx-button-radius) !important;
}

/* Systemverwaltung: Datei-Upload als Secondary Small ohne native Browser-Schaltfläche */
.pvmx-file-picker { position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:12px;min-height:42px;margin-top:8px; }
.pvmx-file-picker-input { position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer!important;z-index:2;border:0!important;padding:0!important; }
.pvmx-file-picker-button { pointer-events:none;min-height:0!important;white-space:nowrap; }
.pvmx-file-picker-name { color:var(--muted);font-size:var(--pvmx-button-small-font-size);overflow-wrap:anywhere;min-width:0; }
.pvmx-file-picker:focus-within .pvmx-file-picker-button,
.pvmx-file-picker:hover .pvmx-file-picker-button { background:var(--pvmx-button-violet-hover-bg)!important;color:var(--pvmx-button-violet-hover-ink)!important;border-color:var(--pvmx-button-violet)!important;box-shadow:var(--pvmx-button-violet-hover-glow)!important; }
