[hidden]{display:none!important}:root{--brand:#d52b2f;--brand-dark:#a9181d;--accent:#50545b;--bg:#f5f6f8;--surface:#fff;--surface-2:#f9fafb;--text:#151922;--muted:#687080;--border:#e1e5eb;--sidebar:#15181d;--sidebar-text:#f5f5f5;--shadow:0 8px 24px rgba(20,25,35,.06);color-scheme:light}html[data-theme=dark]{--bg:#101318;--surface:#171b21;--surface-2:#1c2128;--text:#f3f5f7;--muted:#a5adba;--border:#2b313b;--sidebar:#0c0f13;--shadow:none;color-scheme:dark}*{box-sizing:border-box}body{margin:0;font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}a{color:var(--brand);text-decoration:none}.app-shell{min-height:100vh;display:grid;grid-template-columns:270px 1fr}.sidebar{position:fixed;width:270px;inset:0 auto 0 0;background:var(--sidebar);color:var(--sidebar-text);padding:24px 18px;display:flex;flex-direction:column;z-index:20}.brand{display:block;height:112px;padding:4px 15px 22px;border-bottom:1px solid rgba(255,255,255,.11);margin-bottom:20px}.logo{width:100%;height:100%;object-fit:contain}.logo-dark{display:none}html[data-theme=dark] .logo-light{display:none}html[data-theme=dark] .logo-dark{display:block}.sidebar nav{display:grid;gap:5px}.sidebar nav a{color:#e8eaed;padding:12px 15px;border-radius:8px;display:flex;gap:13px;align-items:center;font-weight:550}.sidebar nav a span{width:20px;text-align:center;font-size:18px}.sidebar nav a:hover,.sidebar nav a.active{background:linear-gradient(135deg,var(--brand),var(--brand-dark));color:#fff}.sidebar-status{margin-top:auto;border:1px solid rgba(255,255,255,.15);border-radius:11px;padding:18px;display:grid;gap:14px}.status-line{color:#b8e8bd}.status-line i{display:inline-block;width:9px;height:9px;background:#35c54a;border-radius:50%;margin-right:8px}.sidebar-status small{color:#c4c8cf}.app-shell main{grid-column:2;min-width:0}.topbar{height:70px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:10}.mobile-menu{display:none;background:none;border:0;font-size:24px;color:var(--text)}.theme-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:24px;padding:7px 10px;display:flex;gap:8px;align-items:center;cursor:pointer}.switch{width:34px;height:18px;border-radius:20px;background:#d7dbe2;padding:2px;display:block}.switch i{display:block;width:14px;height:14px;background:#fff;border-radius:50%;transition:.2s}html[data-theme=dark] .switch{background:var(--brand)}html[data-theme=dark] .switch i{transform:translateX(16px)}.content{padding:32px 36px 60px;max-width:1500px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.page-head h1{font-size:30px;margin:0 0 3px}.page-head p{margin:0;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px}.stats article{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:22px;display:flex;gap:16px;align-items:center;box-shadow:var(--shadow)}.stats strong{font-size:28px;display:block}.stats small{color:var(--muted)}.stat-icon{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;font-size:24px}.blue{background:#e8f1ff;color:#2871da}.green{background:#e8f7ea;color:#25a337}.orange{background:#fff1df;color:#e57b00}.red{background:#fde7e7;color:#d52b2f}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);overflow:hidden}.card.padded{padding:25px}.card h2{margin:0 0 18px;font-size:18px}.card-head{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.card-head h2{margin:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--border)}th{font-size:13px;color:var(--muted);background:var(--surface-2)}tbody tr:hover{background:var(--surface-2)}tbody tr:last-child td{border:0}.external{color:var(--text)}.row-action{font-size:24px;color:var(--muted)}.badge{display:inline-flex;border-radius:20px;padding:3px 10px;font-size:13px;text-transform:capitalize}.badge.online{background:#e1f4e4;color:#198229}.badge.offline{background:#fde6e7;color:#bd2026}.badge.unknown{background:#eef0f3;color:#626b78}.button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:7px;padding:9px 14px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font:inherit}.button.primary{background:var(--brand);border-color:var(--brand);color:#fff}.button.warning{border-color:#d88500;color:#b36b00}.button.danger{background:#bd2026;border-color:#bd2026;color:#fff}.button.subtle{font-size:13px}.alert{padding:13px 16px;border-radius:8px;margin-bottom:20px}.alert.success{background:#e2f5e5;color:#166d25}.alert.error{background:#fde5e6;color:#a3181d}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:24px}.form{display:grid;gap:17px}label{display:grid;gap:6px;font-weight:600}input{width:100%;padding:10px 12px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:7px;font:inherit}.checkbox{display:flex;grid-template-columns:auto 1fr;align-items:center}.checkbox input{width:auto}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:8px}.actions form{margin:0}.details{margin:0 0 20px}.details div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border)}.details dt{color:var(--muted)}.details dd{margin:0}.secret{display:flex}.secret input{border-radius:7px 0 0 7px;font-family:ui-monospace,monospace}.secret button{border:1px solid var(--border);border-left:0;background:var(--surface-2);color:var(--text);padding:0 10px;cursor:pointer}.danger-zone{margin-top:24px;border:1px solid #d84b50;background:var(--surface);border-radius:10px;padding:22px}.danger-zone h2{margin-top:0}.empty{text-align:center;color:var(--muted);padding:30px}.placeholder{min-height:180px}.placeholder p{color:var(--muted)}hr{border:0;border-top:1px solid var(--border);margin:22px 0}@media(max-width:950px){.app-shell{display:block}.sidebar{transform:translateX(-100%);transition:.2s}.menu-open .sidebar{transform:none}.app-shell main{grid-column:auto}.mobile-menu{display:block}.stats{grid-template-columns:1fr 1fr}.grid-two{grid-template-columns:1fr}}@media(max-width:620px){.content{padding:22px 15px}.topbar{padding:0 15px}.stats{grid-template-columns:1fr}.page-head{align-items:flex-start;gap:15px}.page-head h1{font-size:25px}}
.live-controls{display:flex;align-items:center;gap:12px;color:var(--muted)}.live-controls label{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:500}.live-controls select{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:7px;padding:7px 9px}.live-controls small{min-width:88px}.live-indicator{display:inline-flex;align-items:center;gap:7px;font-weight:650;color:#258c35}.live-indicator i{width:8px;height:8px;border-radius:50%;background:#35c54a;box-shadow:0 0 0 4px rgba(53,197,74,.13)}.inline-form{display:inline}.button:disabled{opacity:.5;cursor:not-allowed}.button.loading,.trigger-agent:disabled{cursor:wait}.button.loading::first-letter{display:inline-block}.trigger-agent{white-space:nowrap}@media(max-width:800px){.live-controls label,.live-controls small{display:none}.live-controls{gap:7px}.topbar{gap:10px}}
textarea{width:100%;padding:10px 12px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:7px;font:inherit;resize:vertical}.logout-form{margin-left:auto}.login-body{min-height:100vh;display:grid;place-items:center;background:var(--bg);padding:20px}.login-card{width:min(430px,100%);background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:32px}.login-card img{display:block;max-width:220px;height:80px;object-fit:contain;margin:0 auto 20px;background:#15181d;border-radius:8px;padding:10px}.login-card h1{margin:0;text-align:center}.login-card>p{text-align:center;color:var(--muted);margin:4px 0 24px}html[data-theme=dark] .blue{background:#1d2b3d;color:#7facf0}html[data-theme=dark] .green{background:#17351f;color:#73c982}html[data-theme=dark] .orange{background:#3b2b16;color:#e4aa58}html[data-theme=dark] .red{background:#3b1d20;color:#e47b80}html[data-theme=dark] .badge.online{background:#17351f;color:#73c982}html[data-theme=dark] .badge.warning{background:#3b2b16;color:#e4aa58}html[data-theme=dark] .badge.offline{background:#3b1d20;color:#e47b80}html[data-theme=dark] .badge.unknown{background:#252b34;color:#aeb6c2}.badge.warning{background:#fff1df;color:#b86200}
.muted{color:var(--muted);line-height:1.55}.notice{padding:14px 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--muted)}.finding{margin-top:10px;padding:10px 12px;border-left:3px solid var(--danger);border-radius:6px;background:var(--surface-2)}.finding span{color:var(--muted);font-size:.9rem}.small-strong{font-size:1.05rem!important}

.inline-action{display:inline-block;margin-left:.5rem;font-weight:600;white-space:nowrap}
.description-cell{white-space:normal;min-width:280px;max-width:520px;overflow-wrap:anywhere}.user-context{display:grid;text-align:right;line-height:1.2;margin-left:auto}.user-context small{color:var(--muted);font-size:12px}.logout-form{display:flex;align-items:center;gap:12px;margin-left:auto}.role-overview{margin-top:24px}.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.role-grid article{border:1px solid var(--border);border-radius:9px;padding:18px;background:var(--surface-2)}.role-grid article p{color:var(--muted);min-height:66px}.role-grid article small{font-weight:650}@media(max-width:900px){.role-grid{grid-template-columns:1fr}.user-context{display:none}}

/* Navigator 0.9.1 */
.table-wrap table{white-space:normal}.table-wrap th,.table-wrap td{vertical-align:top}.table-wrap th[data-sortable]{cursor:pointer;user-select:none;white-space:nowrap}.table-wrap th[data-sortable]::after{content:" ↕";opacity:.35}.table-wrap th.sort-asc::after{content:" ↑";opacity:1}.table-wrap th.sort-desc::after{content:" ↓";opacity:1}.table-tools{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);background:var(--surface-2)}.table-tools input{max-width:320px}.table-tools label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.table-tools select{padding:7px 9px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text)}.table-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 16px;border-top:1px solid var(--border)}.table-pagination button{min-width:36px}.capabilities-cell{white-space:normal;min-width:260px;max-width:520px;overflow-wrap:anywhere;line-height:1.5}.rule-cell{min-width:260px}.rule-cell small{color:var(--muted)}.scan-summary{display:flex;gap:8px;flex-wrap:wrap;color:inherit}.metric{display:inline-flex;align-items:center;gap:3px;border-radius:14px;padding:2px 8px;font-size:12px;background:var(--surface-2);border:1px solid var(--border)}.metric.target{color:#2871da}.metric.success{color:#258c35}.metric.problem{color:#bd2026}.metric.scan-status{font-size:15px;padding-left:7px;padding-right:7px}.metric.scan-status.completed{color:#258c35}.metric.scan-status.partial{color:#b86200}.metric.scan-status.failed{color:#bd2026}@media(max-width:700px){.table-tools{align-items:stretch;flex-direction:column}.table-tools input{max-width:none}.table-pagination{justify-content:space-between}}
.rule-picker{border:1px solid var(--border);border-radius:9px;padding:14px 16px;display:grid;gap:10px}.rule-picker legend{padding:0 6px;font-weight:700}.rule-picker legend small{color:var(--muted);font-weight:500}.rule-picker .checkbox{font-weight:500}

/* Workflow 0.10.3 */
.status-toggle{width:34px;height:34px;border-radius:50%;border:1px solid transparent;display:inline-grid;place-items:center;font-size:21px;font-weight:800;line-height:1;cursor:pointer;transition:transform .15s,opacity .15s,background .15s}.status-toggle:hover{transform:scale(1.08)}.status-toggle:disabled{cursor:wait;opacity:.55;transform:none}.status-toggle.is-active{background:#e1f4e4;color:#198229;border-color:#b9dfbf}.status-toggle.is-inactive{background:#fde6e7;color:#bd2026;border-color:#efbfc1}html[data-theme=dark] .status-toggle.is-active{background:#17351f;color:#73c982;border-color:#285f35}html[data-theme=dark] .status-toggle.is-inactive{background:#3b1d20;color:#e47b80;border-color:#6f3035}.toast-stack{position:fixed;bottom:24px;right:24px;z-index:1000;display:grid;gap:10px;max-width:min(420px,calc(100vw - 32px))}.toast-message{padding:13px 16px;border-radius:9px;box-shadow:0 10px 30px rgba(0,0,0,.18);background:var(--surface);border:1px solid var(--border);color:var(--text);animation:toast-in .18s ease-out}.toast-message.success{border-left:4px solid #25a337}.toast-message.error{border-left:4px solid #bd2026}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}


/* 0.11.0 Logs & Scheduler */
.log-tabs{display:flex;gap:.6rem;margin-bottom:1rem}.log-tabs .active{font-weight:700;box-shadow:inset 0 -2px 0 currentColor}[data-log-panel][hidden]{display:none!important}.compact-form{max-width:34rem}

/* 0.11.1 Datei-/Verzeichnis-Zieleditor */
#filesystem-target-editor{display:grid;gap:10px}.filesystem-target-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(190px,auto) auto;gap:9px;align-items:center;margin-bottom:9px}.filesystem-target-row select{width:100%;padding:10px 12px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:7px;font:inherit}.filesystem-target-row .target-remove{padding:8px 13px;font-size:18px}@media(max-width:700px){.filesystem-target-row{grid-template-columns:1fr}.filesystem-target-row .target-remove{justify-self:start}}

/* 0.12.1 – kontrollierte Regel-Keys */
.rule-key-fields{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}
.rule-key-fields span{padding:.72rem .8rem;background:var(--surface-muted);border-right:1px solid var(--border);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap}
.rule-key-fields input{border:0!important;border-radius:0!important;min-width:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.field-status{display:block;margin-top:.35rem}
.field-status.success{color:var(--success,#16855b)}
.field-status.error{color:var(--danger,#c43d4b)}

/* WebScan 0.13.0: Scan/Maintenance-Trennung */
.rule-tabs{display:flex;gap:.6rem;margin:1rem 0}.rule-tabs .active{font-weight:700;box-shadow:inset 0 -2px 0 currentColor}.maintenance-panel{border-color:#d88500}.maintenance-panel thead th{background:#fff3e0}.badge.maintenance{background:#ffe4c2;color:#984f00}.rule-type-notice{padding:14px 16px;border-radius:8px;border:1px solid var(--border)}.rule-type-notice.scan{background:#e8f1ff;color:#225eaf}.rule-type-notice.maintenance{background:#fff0df;color:#8c4800;border-color:#e0a24a}.domain-bulk-actions{margin:0}.domain-bulk-actions.in-table-tools{margin-left:auto}.domain-bulk-actions.in-table-tools>span{display:none}html[data-theme=dark] .maintenance-panel thead th{background:#342617}html[data-theme=dark] .badge.maintenance{background:#4a3016;color:#f0b76f}html[data-theme=dark] .rule-type-notice.scan{background:#1d2b3d;color:#8eb8ef}html[data-theme=dark] .rule-type-notice.maintenance{background:#3b2b16;color:#efb66b}

/* WebScan 0.14.0 – CMS-Inventar */
.domain-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.cms-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.cms-stat{min-width:0;padding:14px}.cms-stat div{min-width:0}.cms-stat em{display:block;color:var(--muted);font-size:11px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}.cms-mark{width:30px;height:30px;border-radius:7px;display:inline-grid;place-items:center;font-weight:800;background:#eceff3;color:#6d7580;border:1px solid var(--border)}.cms-mark.current{background:#dff3e3;color:#1d8330}.cms-mark.patch{background:#fff0d7;color:#b76500}.cms-mark.minor{background:#ffe1bf;color:#a84b00}.cms-mark.major{background:#f9d9dc;color:#b9202a}.cms-mark.unknown{background:#eceff3;color:#6d7580}.cms-icons{display:flex;gap:6px;align-items:center}.cms-icons .cms-mark{width:27px;height:27px;font-size:12px}@media(max-width:1250px){.domain-stats{grid-template-columns:repeat(4,1fr)}.cms-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){.domain-stats,.cms-stats{grid-template-columns:repeat(2,1fr)}}

/* WebScan 0.15.0 – Discovery-Phase */
.badge.discovery{margin-left:.45rem;background:#e8f1ff;color:#225eaf;text-transform:none;font-size:11px}.rule-picker .badge.discovery{vertical-align:middle}html[data-theme=dark] .badge.discovery{background:#1d2b3d;color:#8eb8ef}

.cms-mark.major{background:#ffe1bf;color:#a84b00}.cms-mark.legacy{background:#f9d9dc;color:#b9202a}.cms-overview-button{display:flex;gap:12px;align-items:center;border:0;background:transparent;color:inherit;padding:0;cursor:pointer;text-align:left}.cms-overview-button strong{font-size:24px}.cms-version-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.cms-version-chip{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:999px;padding:5px 9px;cursor:pointer;font-size:12px}.cms-version-chip:hover,.cms-version-chip.active,.cms-overview-button.active .cms-mark{outline:2px solid var(--brand);outline-offset:2px}.active-cms-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:-8px 0 16px;padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.active-cms-filters[hidden]{display:none}.active-filter-tag{display:inline-flex;gap:7px;align-items:center;border-radius:999px;padding:4px 9px;background:var(--surface);color:var(--text);border:1px solid var(--border);cursor:pointer}.active-filter-tag:hover{border-color:var(--brand)}.active-filter-tag b{font-size:15px;line-height:1}

/* 0.23.0: Lange Regelnamen dürfen Aktionsbuttons nicht verdrängen. */
table td.rule-cell{max-width:34rem;overflow-wrap:anywhere;word-break:break-word}
table td:last-child .actions{flex-wrap:nowrap;white-space:nowrap;min-width:max-content}
table th:last-child,table td:last-child{width:1%;white-space:nowrap}

/* PolicyCreator 0.1.2 */
.policy-status{display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:7px 12px;border-radius:7px;font-size:13px;font-weight:700;color:#fff;cursor:default;border:1px solid transparent}.policy-status.green{background:#28a745}.policy-status.yellow{background:#ffd600;color:#111;border-color:#c5a900}.policy-status.red{background:#dc3545}
