:root { color-scheme:light;
  --bg-main:#ffffff; --bg:#ffffff; --bg-card:#ffffff; --bg-card-hover:#f1f5f9; --bg-hover:#eef2f6; --bg-input:#ffffff; --bg-nav:#ffffff; --bg-subtle:#f1f5f9; --bg-deep:#ffffff; --bg-field:#ffffff; --bg-panel:#ffffff; --bg-raised:#ffffff; --bg-alt:#f8fafc; --bg-sunken:#eceff4; --bg-chip:#e8edf3; --bg-chip-strong:#d5dde6; --bg-selected:#ccf1ec; --bg-selected-soft:#e6f7f5; --bg-secondary:#ffffff; --bg-surface:#ffffff; --accent-bg:rgba(15,118,110,.1); --btn-secondary-bg:#e8edf3; --bubble-own:#d5f3e3;
  --text:#1e293b; --text-strong:#0f172a; --text-soft:#334155; --text-muted:#505e76; --text-faint:#5c6981; --border:#d5dbe3; --border-subtle:#e5e9ef; --border-strong:#94a3b8; --accent:#0f766e;
  --c-blue:#1d4ed8; --c-red:#b91c1c; --c-orange:#9a3412; --c-highlight:#854d0e; --c-green:#065f46; --c-ok:#3f6212; --c-purple:#6d28d9; --c-cyan:#155e75; --c-steel:#35527a;
  --prio-high:#dc2626; --prio-normal:#047857; --prio-low:#64748b; --status-open:#0f766e; --status-answer:#c2410c; --status-done:#047857; --status-reply:#7e22ce; --status-progress:#0369a1; --status-waiting:#64748b;
  
  --accent-image:none; --login-image:linear-gradient(#0f766e,#0f766e); --shadow-card:none; --shadow-dialog:0 12px 40px rgba(30,41,90,.22); --focus-ring:0 0 0 3px rgba(15,118,110,.2);
  --side-bg:#27313f; --side-text:#cbd5e1; --side-text-hover:#ffffff; --side-hover:#34414f; --side-active-bg:#0f766e; --side-active-fg:#ffffff; --side-border:#1e2733;
  --thead-card:transparent; --th-tint:#e2e8f0; --title-bg:#343a40; --title-fg:#ffffff; --title-muted:#c3cad3; --title-hl:#fde68a; --title-danger:#f87171; --title-sec-fg:#1e293b; --r-ctl:3px; --r-card:8px; --r-tile:8px; --r-badge:4px;
  --table-spacing:0; --r-toggle-btn:4px; --r-site:8px; --thead-sub:transparent; --table-collapse:separate; --th-transform:none; --th-spacing:normal; --th-radius:0; --overlay-filter:none; --scrollbar:#c5ced9 transparent;
  --r-dialog:4px; --r-title:4px 4px 0 0; --dialog-border:0 none; --r-toggle:6px; --r-tile-lg:8px; --btn-weight:500; --btn-transition:opacity .15s ease; --btn-lift:0; --btn-shadow:none;
  --btn-go-bg:#047857; --btn-go-hover:#065f46; --btn-soft-bg:#e6f7f5; --btn-soft-hover:#ccf1ec; --btn-soft-fg:#0f766e; --btn-soft-pad:5px 10px; --btn-soft-radius:3px; --btn-new-bg:#0f766e; --btn-new-border:#0f766e; --badge-bg:#e8edf3; --badge-fg:#334155; --badge-warn-bg:#ffedd5; --badge-warn-fg:#9a3412; --badge-radius:999px; --c-alert:#c2410c;
}
:root[data-theme="dark"] { color-scheme:dark;
  --bg-main:#1e1e1e; --bg:#1a1a1a; --bg-card:#2b2b2b; --bg-card-hover:#333; --bg-hover:#333; --bg-input:#333; --bg-nav:#181818; --bg-subtle:#222; --bg-deep:#121212; --bg-field:#1a1a1a; --bg-panel:#1e1e1e; --bg-raised:#252525; --bg-alt:#2a2a2a; --bg-sunken:#111; --bg-chip:#333; --bg-chip-strong:#444; --bg-selected:#1a3a5c; --bg-selected-soft:#1a2a3a; --bg-secondary:#1a1a1a; --bg-surface:#1e1e1e; --accent-bg:rgba(74,158,255,.1); --btn-secondary-bg:#555; --bubble-own:#2d5a2d;
  --text:#e0e0e0; --text-strong:#fff; --text-soft:#ccc; --text-muted:#999; --text-faint:#8c8c8c; --border:#444; --border-subtle:#333; --border-strong:#555; --accent:#4a9eff;
  --c-blue:#4a9eff; --c-red:#f25d52; --c-orange:#e8a838; --c-highlight:#ffcc00; --c-green:#4ade80; --c-ok:#9acd32; --c-purple:#a78bfa; --c-cyan:#67e8f9; --c-steel:#b0c4de;
  --prio-high:#e74c3c; --prio-normal:#2ecc71; --prio-low:#95a5a6; --status-open:#4a9eff; --status-answer:#f39c12; --status-done:#2ecc71;
  --status-reply:#8e44ad; --status-progress:#3498db; --status-waiting:#7f8c8d;
  
  --accent-image:none; --login-image:none; --shadow-card:none; --shadow-dialog:none; --focus-ring:none;
  --side-bg:#181818; --side-text:#999; --side-text-hover:#e0e0e0; --side-hover:#333; --side-active-bg:rgba(74,158,255,.15); --side-active-fg:#4a9eff; --side-border:#444;
  --thead-card:#2b2b2b; --th-tint:transparent; --title-bg:#222; --title-fg:#e0e0e0; --title-muted:#999; --title-hl:#ffcc00; --title-danger:#e74c3c; --title-sec-fg:#e0e0e0; --r-ctl:3px; --r-card:6px; --r-tile:4px; --r-badge:3px;
  --table-spacing:2px; --r-toggle-btn:4px; --r-site:0; --thead-sub:#222; --table-collapse:collapse; --th-transform:none; --th-spacing:normal; --th-radius:0; --overlay-filter:none; --scrollbar:auto;
  --r-dialog:4px; --r-title:4px 4px 0 0; --dialog-border:1px solid var(--border); --r-toggle:6px; --r-tile-lg:8px; --btn-weight:400; --btn-transition:all 0s; --btn-lift:0; --btn-shadow:none;
  --btn-go-bg:#28a745; --btn-go-hover:#218838; --btn-soft-bg:#28a745; --btn-soft-hover:#218838; --btn-soft-fg:#fff; --btn-soft-pad:3px; --btn-soft-radius:3px; --btn-new-bg:#2a6d2a; --btn-new-border:#3a8d3a; --badge-bg:gray; --badge-fg:#fff; --badge-warn-bg:orangered; --badge-warn-fg:#fff; --badge-radius:4px; --c-alert:orangered;
}
/* "System" = kein data-theme gesetzt; muss dieselben Werte wie [data-theme="dark"] tragen */
@media (prefers-color-scheme: dark) {
:root:not([data-theme="light"]) { color-scheme:dark;
  --bg-main:#1e1e1e; --bg:#1a1a1a; --bg-card:#2b2b2b; --bg-card-hover:#333; --bg-hover:#333; --bg-input:#333; --bg-nav:#181818; --bg-subtle:#222; --bg-deep:#121212; --bg-field:#1a1a1a; --bg-panel:#1e1e1e; --bg-raised:#252525; --bg-alt:#2a2a2a; --bg-sunken:#111; --bg-chip:#333; --bg-chip-strong:#444; --bg-selected:#1a3a5c; --bg-selected-soft:#1a2a3a; --bg-secondary:#1a1a1a; --bg-surface:#1e1e1e; --accent-bg:rgba(74,158,255,.1); --btn-secondary-bg:#555; --bubble-own:#2d5a2d;
  --text:#e0e0e0; --text-strong:#fff; --text-soft:#ccc; --text-muted:#999; --text-faint:#8c8c8c; --border:#444; --border-subtle:#333; --border-strong:#555; --accent:#4a9eff;
  --c-blue:#4a9eff; --c-red:#f25d52; --c-orange:#e8a838; --c-highlight:#ffcc00; --c-green:#4ade80; --c-ok:#9acd32; --c-purple:#a78bfa; --c-cyan:#67e8f9; --c-steel:#b0c4de;
  --prio-high:#e74c3c; --prio-normal:#2ecc71; --prio-low:#95a5a6; --status-open:#4a9eff; --status-answer:#f39c12; --status-done:#2ecc71;
  --status-reply:#8e44ad; --status-progress:#3498db; --status-waiting:#7f8c8d;
  
  --accent-image:none; --login-image:none; --shadow-card:none; --shadow-dialog:none; --focus-ring:none;
  --side-bg:#181818; --side-text:#999; --side-text-hover:#e0e0e0; --side-hover:#333; --side-active-bg:rgba(74,158,255,.15); --side-active-fg:#4a9eff; --side-border:#444;
  --thead-card:#2b2b2b; --th-tint:transparent; --title-bg:#222; --title-fg:#e0e0e0; --title-muted:#999; --title-hl:#ffcc00; --title-danger:#e74c3c; --title-sec-fg:#e0e0e0; --r-ctl:3px; --r-card:6px; --r-tile:4px; --r-badge:3px;
  --table-spacing:2px; --r-toggle-btn:4px; --r-site:0; --thead-sub:#222; --table-collapse:collapse; --th-transform:none; --th-spacing:normal; --th-radius:0; --overlay-filter:none; --scrollbar:auto;
  --r-dialog:4px; --r-title:4px 4px 0 0; --dialog-border:1px solid var(--border); --r-toggle:6px; --r-tile-lg:8px; --btn-weight:400; --btn-transition:all 0s; --btn-lift:0; --btn-shadow:none;
  --btn-go-bg:#28a745; --btn-go-hover:#218838; --btn-soft-bg:#28a745; --btn-soft-hover:#218838; --btn-soft-fg:#fff; --btn-soft-pad:3px; --btn-soft-radius:3px; --btn-new-bg:#2a6d2a; --btn-new-border:#3a8d3a; --badge-bg:gray; --badge-fg:#fff; --badge-warn-bg:orangered; --badge-warn-fg:#fff; --badge-radius:4px; --c-alert:orangered;
}
}
body { background:var(--bg-main); color:var(--text); font-family:'Segoe UI',system-ui,sans-serif; margin:0; font-size:15px; }
/* Nav */
:root { --nav-h:48px; --side-w:220px; --side-offset:var(--side-w); --fill-red:#dc2626; --fill-orange:#c2410c; --fill-green:#047857; --fill-neutral:#64748b; }
.cockpit-nav { height:var(--nav-h); box-sizing:border-box; background:var(--bg-nav); border-bottom:1px solid var(--border); padding:0 12px; display:flex; align-items:center; gap:4px; position:sticky; top:0; z-index:100; flex-wrap:nowrap; }
.cockpit-nav .brand { color:var(--accent); font-weight:700; font-size:17px; padding:0 8px; white-space:nowrap; }
.nav-search { position:relative; flex:0 1 380px; min-width:120px; margin:0 8px 0 16px; }
.nav-search i { position:absolute; left:10px; top:50%; transform:translateY(-50%); color:var(--text-faint); font-size:12px; pointer-events:none; }
.nav-search input { width:100%; box-sizing:border-box; height:30px; padding:0 10px 0 30px; border:1px solid var(--border); border-radius:15px; background:var(--bg-input); color:var(--text); font-size:13px; }
.nav-search input:focus { outline:none; border-color:var(--accent); }
/* Mandantenfilter in der Kopfzeile: Toggle „Alle Mandanten“ / gewählter Mandant (an = Akzentfarbe) */
.nav-mdt { display:inline-flex; align-items:center; gap:6px; height:30px; max-width:240px; padding:0 12px; border:1px solid var(--border); border-radius:15px; background:var(--bg-input); color:var(--text-muted); font:inherit; font-size:13px; cursor:pointer; white-space:nowrap; flex-shrink:0; }
.nav-mdt .nav-mdt-text { overflow:hidden; text-overflow:ellipsis; }
.nav-mdt:hover { border-color:var(--accent); color:var(--accent); }
.nav-mdt.on { border-color:var(--accent); background:var(--accent); color:#fff; }
@media (max-width:700px) { .nav-mdt .nav-mdt-text { display:none; } .nav-mdt { padding:0 10px; } }
@media (max-width:700px) { .nav-search { flex-basis:140px; margin:0 4px; } .nav-search input::placeholder { color:transparent; } }
.side-toggle { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; flex-shrink:0; border:none; border-radius:var(--r-ctl); background:none; color:var(--text-muted); cursor:pointer; font-size:16px; }
.side-toggle:hover { background:var(--bg-hover); color:var(--text); }
.nav-user { font-size:12px; color:var(--text-muted); padding:0 8px; white-space:nowrap; min-width:0; overflow:hidden; text-overflow:ellipsis; }
.nav-logout { padding:8px; font-size:13px; color:var(--text-muted); border-radius:var(--r-ctl); }
.nav-logout:hover { background:var(--bg-hover); color:var(--text); }
/* Seitenleiste */
.cockpit-side { position:fixed; top:var(--nav-h); left:0; bottom:0; width:var(--side-w); box-sizing:border-box; display:flex; flex-direction:column; padding:8px 0; background:var(--side-bg); border-right:1px solid var(--side-border); overflow-y:auto; overflow-x:hidden; z-index:90; }
.cockpit-side a { display:flex; align-items:center; gap:12px; padding:11px 18px; color:var(--side-text); text-decoration:none; font-size:14px; white-space:nowrap; border-left:3px solid transparent; transition:background .15s,color .15s; }
.cockpit-side a i { width:18px; text-align:center; font-size:15px; flex-shrink:0; }
.cockpit-side a:hover { background:var(--side-hover); color:var(--side-text-hover); }
.cockpit-side a.active { background:var(--side-active-bg); color:var(--side-active-fg); border-left-color:var(--side-active-fg); }
.cockpit-side a.side-bottom { margin-top:auto; }
/* Aufklappbares Untermenü (Stammdaten) */
.cockpit-side .nav-caret { width:auto; margin-left:6px; font-size:11px; opacity:.7; transition:transform .15s; }
.cockpit-side .nav-group.open .nav-caret { transform:rotate(180deg); }
.cockpit-side .nav-sub { display:none; }
.cockpit-side .nav-group.open .nav-sub { display:block; }
.cockpit-side .nav-group.side-bottom { margin-top:auto; }
.cockpit-side .nav-sub a { padding:8px 18px 8px 34px; font-size:13px; }
.cockpit-side .nav-sub a i { font-size:13px; }
.cockpit-side .nav-group .nav-parent.active { background:none; }
.cockpit-side .nav-group:not(.open) .nav-parent.active { background:var(--side-active-bg); }
@media(max-width:900px) { .cockpit-side .nav-sub a { padding-top:11px; padding-bottom:11px; } }
.cockpit-side ~ .page-container { margin-left:var(--side-offset); margin-right:0; }
.side-backdrop { display:none; }
@media(min-width:901px) {
  html[data-side="collapsed"] { --side-w:60px; }
  html[data-side="collapsed"] .cockpit-side .nav-text { display:none; }
  html[data-side="collapsed"] .cockpit-side a { justify-content:center; padding:11px 0; }
  html[data-side="collapsed"] .cockpit-side .nav-caret, html[data-side="collapsed"] .cockpit-side .nav-sub { display:none; }
}
@media(max-width:900px) {
  :root { --side-offset:0px; }
  .cockpit-side { width:240px; transform:translateX(-100%); transition:transform .2s ease; z-index:150; }
  html[data-side-open] .cockpit-side { transform:none; }
  html[data-side-open] .side-backdrop { display:block; position:fixed; inset:var(--nav-h) 0 0 0; background:rgba(0,0,0,.45); z-index:140; }
}
.page-container { max-width:1400px; margin:0 auto; padding:16px 20px; box-sizing:border-box; }
.page-container.page-wide { max-width:none; }
/* Design-Umschalter */
.theme-toggle { display:inline-flex; align-items:center; gap:1px; margin:0 4px; padding:2px; border:1px solid var(--border); border-radius:var(--r-toggle); background:var(--bg-subtle); flex-shrink:0; }
.theme-toggle.push { margin-left:auto; }
.theme-toggle button { display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; padding:0; border:none; border-radius:var(--r-toggle-btn); background:none; color:var(--text-muted); cursor:pointer; font-size:12px; }
.theme-toggle button:hover { color:var(--text); background:var(--bg-hover); }
.theme-toggle button:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
.theme-toggle button[aria-pressed="true"] { background:var(--accent); color:var(--toggle-on,#fff); }
.theme-toggle.floating { position:fixed; top:12px; right:12px; margin:0; z-index:50; }
/* Filter bar */
.filter-bar { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-bottom:12px; }
.filter-bar input,.filter-bar select { background:var(--bg-input); color:var(--text); border:1px solid var(--border); border-radius:4px; padding:6px 10px; font-size:14px; min-height:34px; }
.filter-bar input:focus,.filter-bar select:focus { outline:none; border-color:var(--accent); }
.filter-bar .btn-filter { background:var(--accent); color:#fff; border:none; border-radius:4px; padding:6px 14px; cursor:pointer; font-size:14px; min-height:34px; }
.filter-toggle { display:none; }
.search-wrap { position:relative; display:inline-flex; align-items:center; }
.search-wrap input { padding-right:28px; }
.search-wrap .clear-btn { position:absolute; right:6px; top:50%; transform:translateY(-50%); background:none; border:none; color:var(--text-muted); cursor:pointer; font-size:16px; line-height:1; padding:0 2px; display:none; }
.search-wrap input:not(:placeholder-shown) ~ .clear-btn { display:block; }
.count-label { font-size:13px; color:var(--text-muted); white-space:nowrap; margin-left:4px; }
.summary-bar { display:flex; gap:16px; margin-bottom:12px; font-size:14px; color:var(--text-muted); flex-wrap:wrap; }
.summary-bar b { color:var(--text); }
/* Table */
table.data-table { width:100%; border-collapse:var(--table-collapse); border-spacing:var(--table-spacing); font-size:14px; }
table.data-table thead { background:var(--bg-subtle); position:sticky; top:var(--nav-h); z-index:10; }
table.data-table th { padding:8px 10px; text-align:left; color:var(--text-muted); font-weight:600; border-bottom:1px solid var(--border); white-space:nowrap; }
table.data-table td { padding:6px 10px; border-bottom:1px solid var(--border-subtle); vertical-align:middle; }
table.data-table tr:hover { background:var(--bg-card-hover); }
table.data-table tr.bold td { font-weight:700; }
table.data-table tr { cursor:pointer; }
table.data-table tr.selected { background:var(--accent-bg); outline:1px solid var(--accent); }
.prio-dot { display:inline-block; width:10px; height:10px; border-radius:50%; }
.prio-dot.high { background:var(--prio-high); }
.prio-dot.normal { background:var(--prio-normal); }
.prio-dot.low { background:var(--prio-low); }
.status-badge { display:inline-block; padding:2px 8px; border-radius:3px; font-size:12px; font-weight:600; }
.status-badge.offen { background:var(--status-open); color:#fff; }
.status-badge.antwort-kunde,.status-badge.antwort-von-kunde { background:var(--status-answer); color:#fff; }
.status-badge.antwort-an-kunde { background:var(--status-reply); color:#fff; }
.status-badge.erledigt { background:var(--status-done); color:#fff; }
.status-badge.in-bearbeitung { background:var(--status-progress); color:#fff; }
.status-badge.warten,.status-badge.wartet-auf-jemanden { background:var(--status-waiting); color:#fff; }
.domain-tag { display:inline-block; padding:1px 6px; border-radius:3px; font-size:11px; margin-right:4px; color:#fff; }
/* Host cards */
.host-card { background:var(--bg-card); border:1px solid var(--border); border-radius:6px; padding:12px; cursor:pointer; }
.host-card.online { border-left:3px solid var(--prio-normal); }
.host-card.offline { border-left:3px solid var(--prio-high); opacity:.7; }
.host-card.selected { outline:2px solid var(--accent); }
.host-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:10px; }
.host-card h4 { margin:0 0 6px; font-size:15px; }
.host-card .meta { font-size:13px; color:var(--text-muted); }
.host-card .metrics { display:flex; gap:12px; margin-top:8px; font-size:13px; }
.host-card .metric { text-align:center; }
.host-card .metric-val { font-size:18px; font-weight:700; }
.host-card .metric-val.warn { color:var(--status-answer); }
.host-card .metric-val.crit { color:var(--prio-high); }
/* Detail modal - draggable */
.detail-modal { display:none; position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,.7); z-index:200; }
.detail-modal.open { display:flex; justify-content:center; align-items:flex-start; padding-top:30px; overflow-y:auto; }
.detail-content { background:var(--bg-card); border:var(--dialog-border,1px solid var(--border)); border-radius:var(--r-dialog); width:94%; max-width:900px; max-height:90vh; overflow-y:auto; margin-bottom:30px; position:relative; box-sizing:border-box; resize:both; min-width:320px; min-height:200px; }
.detail-content.wide { max-width:1000px; }
.dlg-titlebar { display:flex; align-items:center; gap:6px; padding:10px 14px; background:var(--title-bg,var(--bg-subtle)); border-radius:var(--r-title); cursor:grab; user-select:none; touch-action:none; flex-wrap:wrap; min-height:44px; }
.dlg-titlebar:active { cursor:grabbing; }
/* Titelleiste dunkel mit heller Schrift: gedämpfte Texte, Hervorhebung und Löschen-Rahmen auf den dunklen Grund abgestimmt */
.dlg-titlebar { color:var(--title-fg); --text-muted:var(--title-muted); --text-faint:var(--title-muted); --c-highlight:var(--title-hl); --prio-high:var(--title-danger); }
.dlg-titlebar .tb-btn.secondary { color:var(--title-sec-fg); }
/* Titel immer in der Titelschrift (auch gegen seitenspezifische Farben wie im Gerätedialog) */
.dlg-titlebar :is(h1,h2,h3,h4,h5), .dlg-titlebar :is(h1,h2,h3,h4,h5) > :is(i,b,strong) { color:var(--title-fg) !important; }
.dlg-titlebar h3 { margin:0; font-size:15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; }
.dlg-titlebar .tb-actions { display:flex; gap:4px; align-items:center; flex-wrap:wrap; }
.dlg-titlebar > .close-x { margin-left:auto; flex-shrink:0; }
.tb-btn { display:inline-flex; align-items:center; justify-content:center; gap:4px; padding:5px 10px; border:none; border-radius:4px; cursor:pointer; font-size:12px; font-family:inherit; min-width:32px; min-height:32px; }
.tb-btn i { font-size:13px; }
.tb-btn.primary { background:var(--accent); color:#fff; }
.tb-btn.success { background:var(--prio-normal); color:#fff; }
.tb-btn.secondary { background:var(--btn-secondary-bg); color:var(--text); }
.tb-btn.danger-outline { background:none; border:1px solid var(--prio-high); color:var(--prio-high); }
.tb-btn.danger-outline:hover { background:var(--prio-high); color:#fff; }
.tb-btn.close-x { background:#ff5f57; color:#fff; font-size:0; padding:0; width:28px; height:28px; min-width:28px; min-height:28px; border-radius:var(--r-ctl,4px); line-height:1; position:relative; }
/* Kreuz aus zwei Linien statt Schriftzeichen: sitzt unabhängig von Schrift und Grundlinie genau in der Mitte */
.tb-btn.close-x::before,.tb-btn.close-x::after { content:''; position:absolute; left:50%; top:50%; width:14px; height:2px; border-radius:1px; background:currentColor; }
.tb-btn.close-x::before { transform:translate(-50%,-50%) rotate(45deg); }
.tb-btn.close-x::after { transform:translate(-50%,-50%) rotate(-45deg); }
.tb-btn.close-x > * { display:none; }
.tb-btn.close-x:hover { background:#e0443d; opacity:1; }
.tb-btn:hover { opacity:.85; }
.tb-btn .btn-text { display:inline; }
.dlg-body { padding:16px 20px; }
.dlg-footer { display:flex; align-items:center; padding:10px 20px; border-top:1px solid var(--border); }
.dlg-footer .btn-delete-outline { background:none; border:1px solid var(--prio-high); color:var(--prio-high); border-radius:4px; padding:5px 10px; cursor:pointer; font-size:12px; font-family:inherit; display:inline-flex; align-items:center; gap:4px; min-height:32px; }
.dlg-footer .btn-delete-outline:hover { background:var(--prio-high); color:#fff; }
/* Confirm dialog */
.confirm-overlay { display:none; position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,.6); z-index:300; justify-content:center; align-items:center; }
.confirm-overlay.open { display:flex; }
.confirm-box { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--r-dialog); padding:24px; text-align:center; min-width:300px; max-width:400px; }
.confirm-box p { margin:0 0 20px; font-size:15px; }
.confirm-box .confirm-btns { display:flex; gap:10px; justify-content:center; }
.confirm-box .confirm-btns button { min-width:100px; min-height:40px; }
/* Form grid */
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px 16px; margin:12px 0; }
.form-grid.cols-3 { grid-template-columns:1fr 1fr 1fr; }
.form-group { display:flex; flex-direction:column; gap:3px; }
.form-group.full { grid-column:1/-1; }
.form-group label { font-size:12px; color:var(--text-muted); font-weight:600; }
.form-group input,.form-group select,.form-group textarea { background:var(--bg-input); color:var(--text); border:1px solid var(--border); border-radius:4px; padding:6px 8px; font-size:14px; font-family:inherit; box-sizing:border-box; width:100%; max-width:100%; }
.form-group input:focus,.form-group select:focus,.form-group textarea:focus { outline:none; border-color:var(--accent); }
.form-group input[type=color] { height:36px; padding:2px; cursor:pointer; }
/* Hinweise in Listen: Notizen (orange) und angehängte Dateien (blau) */
.att-note { color:var(--c-orange); font-size:11px; cursor:help; }
.att-file { color:var(--c-blue); font-size:11px; white-space:nowrap; cursor:help; }
/* Häkchen in Formularen: nicht auf volle Breite ziehen, sondern links neben dem Text (z. B. Benutzer-Berechtigungen) */
.form-group input:is([type=checkbox],[type=radio]) { width:auto; max-width:none; flex:none; margin:0; padding:0; accent-color:var(--accent); cursor:pointer; }
.form-group label:has(> input:is([type=checkbox],[type=radio])) { display:flex; align-items:center; gap:7px; font-weight:normal; color:var(--text); cursor:pointer; }
/* Buttons */
.btn { display:inline-flex; align-items:center; gap:5px; padding:7px 14px; border:none; border-radius:4px; cursor:pointer; font-size:13px; font-family:inherit; min-height:34px; }
.btn-primary { background:var(--accent); color:#fff; }
.btn-success { background:var(--prio-normal); color:#fff; }
.btn-secondary { background:var(--btn-secondary-bg); color:var(--text); }
.btn-danger { background:var(--prio-high); color:#fff; }
.btn:hover { opacity:.85; }
.btn-bar { display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; padding-top:14px; border-top:1px solid var(--border); }
.btn-bar-right { margin-left:auto; }
/* Tabs inside modal */
.modal-tabs { display:flex; gap:0; border-bottom:1px solid var(--border); margin:0; }
.modal-tabs button { background:none; border:none; color:var(--text-muted); padding:8px 16px; font-size:13px; cursor:pointer; border-bottom:2px solid transparent; font-family:inherit; }
.modal-tabs button.active { color:var(--accent); border-bottom-color:var(--accent); }
.tab-pane { display:none; padding-top:12px; }
.tab-pane.active { display:block; }
/* Quill theme */
.ql-toolbar.ql-snow { background:var(--bg-subtle); border-color:var(--border) !important; flex-wrap:wrap; }
.ql-container.ql-snow { border-color:var(--border) !important; background:var(--bg-input); color:var(--text); font-size:14px; }
.ql-editor { min-height:80px; }
.ql-container.ql-small .ql-editor { max-height:200px; overflow-y:auto; }
.ql-snow .ql-stroke { stroke:var(--text-muted) !important; }
.ql-snow .ql-fill { fill:var(--text-muted) !important; }
.ql-snow .ql-picker-label { color:var(--text-muted) !important; }
.ql-snow .ql-picker-options { background:var(--bg-card) !important; border-color:var(--border) !important; }
.billing-offen { color:var(--status-answer); }
.billing-bezahlt,.billing-berechnet { color:var(--prio-normal); }
.billing-pauschale { color:var(--accent); }
/* Metric bar */
.metric-bar { background:var(--bg-chip-strong); border-radius:3px; height:8px; width:100%; margin-top:2px; }
.metric-bar-fill { height:100%; border-radius:3px; }
/* Host detail info grid */
.info-grid { display:grid; grid-template-columns:1fr 1fr; gap:6px 20px; font-size:13px; }
.info-grid dt { color:var(--text-muted); font-weight:600; }
.info-grid dd { margin:0; }
/* Mobile card view */
.mobile-cards { display:none; }
.mobile-card { background:var(--bg-card); border:1px solid var(--border); border-radius:6px; padding:10px 12px; margin-bottom:6px; cursor:pointer; position:relative; }
.mobile-card.selected { outline:2px solid var(--accent); background:var(--accent-bg); }
.mobile-card .mc-line1 { font-weight:600; font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mobile-card .mc-line2 { font-size:12px; color:var(--text-muted); margin-top:2px; display:flex; gap:8px; flex-wrap:wrap; }
/* Mobile */
@media(max-width:600px) {
  html,body { overflow-x:hidden; }
  .cockpit-nav .brand { font-size:14px; padding:0 4px; }
  .nav-user-name { display:none; }
  .page-container { padding:8px 10px; overflow-x:hidden; }
  .filter-bar { gap:4px; }
  .filter-bar input,.filter-bar select { font-size:13px; padding:5px 8px; min-width:0; flex:1 1 45%; box-sizing:border-box; }
  .filter-toggle { display:inline-flex; align-items:center; gap:4px; background:var(--btn-secondary-bg); color:var(--text); border:none; border-radius:4px; padding:6px 10px; cursor:pointer; font-size:13px; font-family:inherit; }
  .filter-bar.collapsed > *:not(.filter-toggle):not(.search-wrap):not(.count-label):not(.btn-filter) { display:none; }
  table.data-table { display:none; }
  .mobile-cards { display:block; }
  .summary-bar { font-size:13px; gap:10px; }
  .detail-modal.open { padding-top:0; }
  .detail-content,.detail-content.wide { width:100vw; max-width:100vw; max-height:100vh; border-radius:0; margin:0; height:100vh; overflow-x:hidden; }
  .dlg-titlebar { border-radius:0; cursor:default; gap:4px; padding:8px 10px; }
  .dlg-titlebar h3 { font-size:13px; flex:1 1 0; min-width:0; }
  .dlg-titlebar > .close-x { order:1; }
  .dlg-titlebar .tb-actions { order:2; flex:0 0 100%; }
  .tb-btn .btn-text { display:none; }
  .tb-btn { min-width:40px; min-height:40px; padding:8px; }
  .tb-btn.close-x { width:36px; height:36px; min-width:36px; min-height:36px; }
  .tb-btn.close-x::before,.tb-btn.close-x::after { width:16px; }
  .dlg-body { padding:12px 10px; overflow-x:hidden; }
  .dlg-footer { padding:10px; }
  .form-grid { grid-template-columns:1fr; gap:8px; }
  .form-grid.cols-3 { grid-template-columns:1fr; }
  .form-group input,.form-group select,.form-group textarea { width:100%; box-sizing:border-box; min-width:0; }
  .ql-toolbar.ql-snow { flex-wrap:wrap; padding:4px; }
  .ql-snow .ql-formats { margin-right:4px; }
  .ql-container.ql-snow { max-width:100%; }
  .host-grid { grid-template-columns:1fr; }
  .info-grid { grid-template-columns:1fr 1fr; }
  .confirm-box { min-width:0; width:90vw; max-width:90vw; }
  .search-wrap { flex:1 1 100%; min-width:0; }
  .search-wrap input { width:100%; box-sizing:border-box; min-width:0; }
  .modal-tabs button { padding:8px 10px; font-size:12px; }
}
.ctx-menu{position:fixed;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 16px rgba(0,0,0,.3);z-index:500;min-width:200px;padding:4px 0;font-size:13px;}
.ctx-menu div{padding:6px 14px;cursor:pointer;}
.ctx-menu div:hover{background:var(--bg-hover);}
.ctx-menu hr{margin:2px 0;border:none;border-top:1px solid var(--border);}
.ctx-sub{position:relative;}.ctx-submenu{display:none;position:absolute;left:100%;top:-4px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 16px rgba(0,0,0,.3);min-width:160px;padding:4px 0;z-index:501;max-height:300px;overflow-y:auto;}
.ctx-sub:hover>.ctx-submenu{display:block;}.ctx-submenu div{padding:6px 14px;cursor:pointer;white-space:nowrap;}.ctx-submenu div:hover{background:var(--bg-hover);}
.data-table tr.multi-sel td{background:rgba(52,152,219,.18);}
.mobile-card.multi-sel{outline:2px solid var(--accent);outline-offset:-2px;}
.mobile-ctx-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:4px 8px;display:none;}
@media(max-width:768px){.mobile-ctx-btn{display:block;}}
/* Akzente des hellen Designs: im Dunkelmodus stehen diese Variablen auf den bisherigen Werten bzw. none */
.btn-primary,.tb-btn.primary,.filter-bar .btn-filter,.page-container .p-btn-primary,.page-container .btn-save-settings,.btn-login { background-image:var(--accent-image); }
.btn,.tb-btn:not(.close-x),.filter-bar input,.filter-bar select,.filter-bar .btn-filter,.form-group input,.form-group select,.form-group textarea { border-radius:var(--r-ctl); }
.filter-bar input:focus,.filter-bar select:focus,.form-group input:focus,.form-group select:focus,.form-group textarea:focus { box-shadow:var(--focus-ring); }
.status-badge { border-radius:var(--r-badge); }
.host-card,.mobile-card { border-radius:var(--r-card); box-shadow:var(--shadow-card); }
.page-container .dash-tile,.page-container .stat-card,.page-container .dash-actions,.watcher-legacy .wp-site-card,.watcher-legacy .tile { box-shadow:var(--shadow-card); }
.watcher-legacy .tile { border-radius:var(--r-tile); }
.detail-content,.confirm-box { box-shadow:var(--shadow-dialog); }
/* Listen als Karten, Statistik-Karten mit farbiger Oberkante */
.page-container :is(table.data-table,.inv-table,.p-table,.aw2-table) { border:1px solid var(--border-subtle); border-radius:var(--r-card); }
.page-container .stat-card { border-top:3px solid var(--accent); }
.page-container .stat-card:nth-child(4n+2) { border-top-color:var(--fill-orange); }
.page-container .stat-card:nth-child(4n+3) { border-top-color:var(--fill-green); }
.page-container .stat-card:nth-child(4n+4) { border-top-color:var(--fill-red); }
body:has(.login-box) { background-image:var(--login-image); background-attachment:fixed; }
/* Tabellenköpfe heben sich im hellen Design auf weißem Grund getönt ab */
table.data-table thead { --bg-card:var(--thead-card); --bg-subtle:var(--thead-sub); }
table.data-table th,.page-container .inv-table th,.page-container .p-table th,.page-container .aw2-table th { background:var(--th-tint); text-transform:var(--th-transform); letter-spacing:var(--th-spacing); }
table.data-table th:first-child,.page-container .inv-table th:first-child,.page-container .p-table th:first-child,.page-container .aw2-table th:first-child { border-top-left-radius:var(--th-radius); border-bottom-left-radius:var(--th-radius); }
table.data-table th:last-child,.page-container .inv-table th:last-child,.page-container .p-table th:last-child,.page-container .aw2-table th:last-child { border-top-right-radius:var(--th-radius); border-bottom-right-radius:var(--th-radius); }
.btn,.tb-btn:not(.close-x) { font-weight:var(--btn-weight); transition:var(--btn-transition); }
.btn-primary:hover,.tb-btn.primary:hover,.page-container .p-btn-primary:hover:not(:disabled) { transform:translateY(var(--btn-lift)); box-shadow:var(--btn-shadow); }
.page-container .dash-tile,.page-container .stat-card,.page-container .dash-actions { border-radius:var(--r-tile-lg); }
.watcher-legacy .wp-site-card { border-radius:var(--r-site); }
.detail-modal,.confirm-overlay { backdrop-filter:var(--overlay-filter); }
html { scrollbar-color:var(--scrollbar); }
/* Einheitliche Controls: !important ist nötig, weil viele Controls Größe und Schrift inline setzen (auch per JS erzeugt) */
:root { --ctl-h:34px; --ctl-h-compact:28px; --ctl-fs:14px; --ctl-fs-compact:13px; --ctl-font:'Segoe UI',system-ui,sans-serif; }
@media(max-width:600px) { :root { --ctl-h:40px; --ctl-h-compact:32px; } }
:is(.page-container,.login-box) :is(button,input:not([type=checkbox],[type=radio],[type=color],[type=file],[type=hidden],[type=range]),select,textarea,a.btn,a.tb-btn):not(.close-x,.clear-btn,.mobile-ctx-btn,.alias-edit-btn,.tab-btn,.detail-tab,.modal-tabs button,.ql-toolbar *,.ql-container *) { box-sizing:border-box !important; font-family:var(--ctl-font) !important; font-size:var(--ctl-fs) !important; line-height:1.2 !important; border-radius:var(--r-ctl) !important; }
:is(.page-container,.login-box) :is(button,a.btn,a.tb-btn):not(.close-x,.clear-btn,.mobile-ctx-btn,.alias-edit-btn,.tab-btn,.detail-tab,.modal-tabs button,.ql-toolbar *,.ql-container *) { height:auto !important; min-height:var(--ctl-h) !important; padding-block:0 !important; padding-inline:12px !important; font-weight:var(--btn-weight) !important; }
:is(.page-container,.login-box) :is(input:not([type=checkbox],[type=radio],[type=color],[type=file],[type=hidden],[type=range]),select):not(.ql-container *) { height:var(--ctl-h) !important; min-height:var(--ctl-h) !important; padding-block:0 !important; padding-inline:10px !important; }
:is(.page-container,.login-box) textarea:not(.ql-container *) { padding:6px 10px !important; }
.page-container .search-wrap input { padding-right:28px !important; }
/* In Tabellenzellen und Beschriftungen kompakt, damit Zeilen nicht aufgehen */
.page-container :is(td,th,label) :is(button,a.btn,a.tb-btn):not(.close-x,.clear-btn,.mobile-ctx-btn,.alias-edit-btn) { min-height:var(--ctl-h-compact) !important; font-size:var(--ctl-fs-compact) !important; padding-inline:8px !important; }
.page-container :is(td,th) :is(input:not([type=checkbox],[type=radio],[type=color],[type=file],[type=hidden],[type=range]),select) { height:var(--ctl-h-compact) !important; min-height:var(--ctl-h-compact) !important; font-size:var(--ctl-fs-compact) !important; }
/* Tabs behalten ihre Höhe, nur die Schriftart ist gleich */
.page-container :is(.tab-btn,.detail-tab,.modal-tabs button) { font-family:var(--ctl-font) !important; }
/* Listensortierung (public/js/listsort.js) */
.ls-th { cursor:pointer; user-select:none; }
.ls-th:hover,.ls-th:focus-visible { color:var(--accent); }
.ls-th:focus-visible { outline:1px solid var(--accent); outline-offset:-1px; }
.ls-th::after { content:'▲'; margin-left:4px; font-size:.75em; opacity:0; }
.ls-th:hover::after { opacity:.45; }
.ls-th.ls-asc::after { content:'▲'; opacity:1; color:var(--accent); }
.ls-th.ls-desc::after { content:'▼'; opacity:1; color:var(--accent); }
.ls-bar { display:flex; align-items:center; gap:6px; font-size:12px; color:var(--text-muted); margin:0 0 6px; }
.ls-bar select { background:var(--bg-field); color:var(--text); border:1px solid var(--border); border-radius:3px; font-size:12px; padding:2px 6px; min-height:0; width:auto; }
.ls-bar button { background:var(--bg-field); color:var(--text); border:1px solid var(--border); border-radius:3px; font-size:11px; padding:2px 7px; cursor:pointer; }
.ls-bar button:disabled { opacity:.4; cursor:default; }
.ls-bar-cards,.ls-bar-dense { display:none; }
@media(max-width:600px) { .ls-bar-cards,.ls-bar-dense { display:flex; } }
.page-container .btn-icon { border:1px solid var(--border); background:var(--bg-card); color:var(--text-muted); cursor:pointer; }
.page-container .btn-icon:hover { background:var(--bg-hover); color:var(--text); }

/* --- Auswahlliste mit Suche (public/js/inv-tools.js) --- */
.ipk-wrap{position:relative;display:flex;flex:1;min-width:0}
.ipk-wrap>input{flex:1;min-width:0;padding-right:30px!important}
.ipk-btn{position:absolute;right:1px;top:1px;bottom:1px;width:28px;border:none;background:transparent;color:var(--text-faint);cursor:pointer;border-radius:0 3px 3px 0}
/* Allgemeine Knopf-Stile (Höhe, Innenabstand) dürfen das Symbol nicht aus der Mitte schieben */
.ipk-wrap>.ipk-btn{display:flex;align-items:center;justify-content:center;height:auto!important;min-height:0!important;padding:0!important;margin:0!important;line-height:1;font-size:13px}
.ipk-btn:hover{color:var(--accent);background:var(--bg-hover)}
.ipk-panel{position:fixed;z-index:10050;background:var(--bg-panel,var(--bg-card));border:1px solid var(--border-strong,var(--border));border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.25);overflow:auto;font-size:13px}
.ipk-table{width:100%;border-collapse:collapse}
.ipk-table th{position:sticky;top:0;background:var(--bg-subtle,var(--bg-card));text-align:left;font-size:11px;font-weight:600;color:var(--text-muted);padding:5px 8px;border-bottom:1px solid var(--border);white-space:nowrap}
.ipk-table td{padding:5px 8px;border-bottom:1px solid var(--border-subtle);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}
.ipk-table tbody tr{cursor:pointer}
.ipk-table tbody tr:hover,.ipk-table tbody tr.ipk-active{background:var(--bg-selected-soft,var(--bg-hover))}
.ipk-table tbody tr.ipk-current td:first-child{font-weight:600;color:var(--accent)}
.ipk-faint{color:var(--text-faint)}
.ipk-empty{padding:10px;color:var(--text-faint)}
.ipk-add{padding:7px 10px;color:var(--accent);cursor:pointer;border-top:1px solid var(--border-subtle)}
.ipk-add:hover{background:var(--bg-selected-soft,var(--bg-hover))}
.ipk-foot{position:sticky;bottom:0;background:var(--bg-subtle,var(--bg-card));color:var(--text-faint);font-size:11px;padding:4px 8px;border-top:1px solid var(--border-subtle)}
.ipk-tag{display:inline-block;font-size:10px;padding:0 6px;border-radius:8px;background:var(--bg-chip,var(--bg-hover));color:var(--text-muted)}

/* --- CSV-Import --- */
.detail-modal.csvi-modal{z-index:1000}
.detail-modal.csvi-modal .detail-content{resize:none}
.csvi-body{font-size:13px}
.csvi-status{font-size:12px;color:var(--text-muted);margin-left:4px}
.csvi-row{margin:10px 0}
.csvi-opts{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center}
.csvi-opts select{margin-left:4px}
.csvi-hint{color:var(--text-muted);font-size:12px;margin:6px 0}
.csvi-fields{color:var(--text-muted);font-size:12px;margin-top:12px}
.csvi-map{width:100%;border-collapse:collapse;margin:8px 0}
.csvi-map th{text-align:left;font-size:11px;color:var(--text-muted);padding:4px 6px;border-bottom:1px solid var(--border)}
.csvi-map td{padding:3px 6px;border-bottom:1px solid var(--border-subtle)}
.csvi-map select{width:100%;max-width:260px}
.csvi-sample{color:var(--text-muted);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.csvi-req{color:var(--c-red)}
.csvi-sub{font-weight:600;margin:12px 0 4px}
.csvi-scroll{overflow:auto;max-height:340px}
.csvi-prev thead th{position:sticky;top:0;background:var(--bg-card,var(--bg))}
.csvi-prev tr.csvi-act-dup td,.csvi-prev tr.csvi-act-skip td,.csvi-prev tr.csvi-act-empty td{color:var(--text-faint)}
.csvi-prev tr.csvi-act-update td:first-child{color:var(--accent)}
.csvi-prev tr.csvi-act-combine td:first-child{color:var(--accent);font-weight:600}
.csvi-prev .csvi-note{font-weight:400;font-size:11px;color:var(--text-muted);white-space:nowrap}
.csvi-prev{border-collapse:collapse;font-size:12px}
.csvi-prev th,.csvi-prev td{padding:3px 8px;border:1px solid var(--border-subtle);white-space:nowrap;text-align:left}
.csvi-warn{color:var(--c-red);margin-top:8px}
.csvi-actions{display:flex;gap:10px;align-items:center;margin-top:14px}
.csvi-status{color:var(--text-muted)}
.csvi-result div{margin:4px 0}
.csvi-errs{max-height:200px;overflow:auto;font-size:12px;color:var(--text-muted)}

/* Löschen in der Titelleiste wie im Host-Dialog: Symbol-Knopf vor den Speichern-Knöpfen (layout-footer) */
.dlg-titlebar .dlg-footer { display:inline-flex; padding:0; border:0; margin:0; }

/* Tab-Leiste unter der Titelleiste (wie Host-Dialog, dort in watcher/css/default.css) */
.detail-tab-bar { display:flex; gap:2px; padding:0 12px; border-bottom:1px solid var(--border-subtle); background:var(--bg-card); flex-wrap:wrap; }
.detail-tab { background:transparent; border:none; border-bottom:2px solid transparent; color:var(--text-muted); padding:6px 14px; font-size:14px; cursor:pointer; font-family:inherit; }
.detail-tab:hover { color:var(--text-soft); }
.detail-tab.active { color:var(--text); border-bottom-color:var(--c-highlight, var(--accent)); }
.detail-tab .n { font-size:11px; color:var(--text-faint); margin-left:3px; }
@media(max-width:600px) { .detail-tab { padding:6px 8px; font-size:12px; } }

/* CSV-Import auf dem Smartphone (nach den Grundregeln, damit sie greifen) */
@media(max-width:600px){.csvi-map,.csvi-map tbody,.csvi-map tr,.csvi-map td{display:block;width:auto}.csvi-map thead{display:none}.csvi-map tr{padding:6px 0;border-bottom:1px solid var(--border-subtle)}.csvi-map td{border:0;padding:2px 0}.csvi-map select{max-width:none}.csvi-opts{flex-direction:column;align-items:stretch}.csvi-opts label{display:flex;flex-direction:column;align-items:stretch;gap:3px;text-align:left}.csvi-opts label:has(input[type=checkbox]){flex-direction:row;align-items:center}.csvi-opts select{margin-left:0;width:100%}}
.watcher-legacy .dense-row.multi-sel,.watcher-legacy .tile.multi-sel{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-bg)}
/* Helles Design: alle Spaltenköpfe systemweit wie die Titelleiste (dunkler Grund, weiße Schrift); das dunkle Design bleibt unverändert */
html[data-theme="light"] :is(th, .watcher-legacy .dense-head) { background:var(--title-bg) !important; color:var(--title-fg) !important; }
html[data-theme="light"] :is(th, .watcher-legacy .dense-head) :is(a, i, span:not([class*="badge"])) { color:inherit; }
@media (prefers-color-scheme: light) {
  html:not([data-theme="dark"]) :is(th, .watcher-legacy .dense-head) { background:var(--title-bg) !important; color:var(--title-fg) !important; }
  html:not([data-theme="dark"]) :is(th, .watcher-legacy .dense-head) :is(a, i, span:not([class*="badge"])) { color:inherit; }
}
/* Anzahlen im Hauptmenü (rechtsbündig); mit gewähltem Mandanten in Akzentfarbe umrandet */
.cockpit-side a .nav-count { margin-left:auto; font-size:11px; line-height:1; padding:3px 7px; border-radius:var(--r-ctl,3px); background:rgba(255,255,255,.1); color:inherit; opacity:.85; font-variant-numeric:tabular-nums; }
.cockpit-side a .nav-count.filtered { box-shadow:inset 0 0 0 1px currentColor; opacity:1; }
.cockpit-side a.active .nav-count { background:rgba(255,255,255,.22); opacity:1; }
html[data-side="collapsed"] .cockpit-side .nav-count { display:none; }
/* Einheitliche Listen: alle Tabellen und die Watcher-Listen wie die Doku-Liste (table.data-table: Seitenschrift, 14px, Kopf 600 gedämpft).
   Ab Tablet-Breite; die eigenen Smartphone-Regeln der Seiten bleiben. Protokoll (Logausgabe) behält die Festbreitenschrift. */
@media (min-width:641px) {
  .page-container :is(table.data-table,.aw2-table,.inv-table,.anl-table,.au-table,.sec-table,.ver-table,.p-table,.aw-table,.aw-detail-table,.log-table) { font-size:14px !important; }
  .page-container :is(.aw2-table,.inv-table,.anl-table,.au-table,.sec-table,.ver-table,.p-table,.aw-table,.aw-detail-table) { font-family:inherit; }
  .page-container :is(table.data-table,.aw2-table,.inv-table,.anl-table,.au-table,.sec-table,.ver-table,.p-table,.aw-table,.aw-detail-table) th { font-size:inherit; font-weight:600; color:var(--text-muted); padding:8px 10px; }
  .page-container :is(table.data-table,.aw2-table,.inv-table,.anl-table,.au-table,.sec-table,.ver-table,.p-table,.aw-table,.aw-detail-table) td { font-size:inherit; padding:6px 10px; }
  .page-container :is(.inv-table,.anl-table) :is(th,td):is(.inv-bulk-cell) { padding:6px 4px 6px 8px; }
  /* Watcher (eigenes Stylesheet mit Roboto und 12px) */
  .page-container .watcher-legacy { font-family:inherit; }
  .page-container .watcher-legacy :is(table,.responsive-table) { font-size:14px; }
  .page-container .watcher-legacy :is(table,.responsive-table) th { font-weight:600; color:var(--text-muted); padding:8px 10px; }
  .page-container .watcher-legacy :is(table,.responsive-table) td { padding:6px 10px; }
  .page-container .watcher-legacy .last-msg-body :is(table,th,td) { padding:2px 4px; font-size:12px; }
  .page-container .watcher-legacy .status-cell { font-size:inherit; }
  .page-container .watcher-legacy .dense-row { font-size:14px; padding:5px 4px; }
  .page-container .watcher-legacy .dense-row :is(.dense-user,.dense-metrics,.dense-time) { font-size:13px; }
  .page-container .watcher-legacy .dense-list .tile-group-header { font-size:13px; }
  .page-container .watcher-legacy .dense-head { font-size:13px; font-weight:600; text-transform:none; letter-spacing:0; color:var(--text-muted); padding:6px 4px; }
}
