/* ================================================================== */
/* Etappe 9 · Benutzer, Systemseiten, Quiz und Spiele                  */
/* (Admin-Look, Task 8; Bausteine und Token in admin-look.css)         */
/* ================================================================== */
/*
 * Gilt für die Seiten mit der Klasse .sys-page (Benutzer, Workspaces, Teams, Einstellungen, SSL, Updates, Backups,
 * Alarme & Log, Rückmeldungen, Statistik, Fragenpool, Musikkatalog, Soundsets). Alle Regeln stehen unter
 * .pulse-admin-shell, damit sie die älteren Regeln (components-*.css, styles-*.css, admin-mobile.css) überstimmen;
 * kein !important. Die alten Klassen (admin-form-section, users-toolbar, …) bleiben im Markup, wo Tests daran hängen.
 */

/* ---------- Listensteuerung: Suchfeld und Auswahl als Pille (wie die Sessionliste) ---------- */
.pulse-admin-shell .list-controls {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--ui-space-2);
  margin: 0 0 var(--ui-space-2);
}
.pulse-admin-shell .list-search.ui-search {
  width: 100%;
  box-sizing: border-box;
}
.pulse-admin-shell .list-search svg {
  width: 18px;
  height: 18px;
  flex: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
}
.pulse-admin-shell .list-search input {
  width: auto;
  min-height: 0;
  height: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font: var(--ui-callout);
  color: var(--ui-label);
}
.pulse-admin-shell .list-search input::placeholder {
  color: var(--ui-label-2);
}
.pulse-admin-shell .list-search:focus-within {
  outline: 3px solid var(--focus, #0052cc);
  outline-offset: 2px;
}
/* Fokusring nur bei Tastaturfokus; Browser mit :has() bekommen die genauere Regel (Rückfall: focus-within oben). */
@supports selector(:has(*)) {
  .pulse-admin-shell .list-search:focus-within:not(:has(:focus-visible)) {
    outline: none;
  }
}
.pulse-admin-shell .list-search input:focus-visible {
  outline: none;
  box-shadow: none;
}
.pulse-admin-shell .list-filters {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ui-space-2);
}
.pulse-admin-shell .list-select {
  display: inline-flex;
  align-items: center;
  gap: var(--ui-space-2);
  min-width: 0;
  max-width: 100%;
  height: 36px;
  margin: 0;
  padding: 0 var(--ui-space-3);
  border-radius: var(--ui-radius-m);
  background: var(--ui-fill);
  font: var(--ui-subhead);
}
.pulse-admin-shell .list-select > span {
  margin: 0;
  color: var(--ui-label-2);
  font: var(--ui-footnote);
  white-space: nowrap;
}
.pulse-admin-shell .list-select select {
  width: auto;
  min-width: 0;
  max-width: 100%;
  min-height: 0;
  height: 100%;
  padding: 0 var(--ui-space-1) 0 0;
  border: 0;
  border-radius: var(--ui-radius-s);
  background-color: transparent;
  box-shadow: none;
  font: var(--ui-subhead);
  color: var(--ui-label);
  cursor: pointer;
}
.pulse-admin-shell .list-select:focus-within {
  outline: 3px solid var(--focus, #0052cc);
  outline-offset: 2px;
}
.pulse-admin-shell .list-select select:focus-visible {
  outline: none;
  box-shadow: none;
}
.pulse-admin-shell .list-count,
.pulse-admin-shell .list-empty {
  margin: 0 0 var(--ui-space-2) var(--ui-space-4);
  font: var(--ui-footnote);
  color: var(--ui-label-2);
}
.pulse-admin-shell .list-empty {
  font: var(--ui-callout);
}
.pulse-admin-shell ul > li.list-empty {
  margin: 0;
  padding: var(--ui-space-4);
}

/* ---------- Gruppentitel der Seiten ---------- */
.pulse-admin-shell.sys-page .ui-group__title {
  margin: var(--ui-space-5) 0 var(--ui-space-2) var(--ui-space-4);
  padding: 0;
  border: 0;
  font: var(--ui-caption);
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--ui-label-2);
}
/* Zwischen den Abschnitten steht der Titel mit Abstand; der erste Abschnitt der Seite rückt an den Kopf */
.pulse-admin-shell.sys-page .sys-sections > .sys-section:first-child > .ui-group__title:first-child,
.pulse-admin-shell.sys-page .sys-sections > form:first-child > .sys-section:first-child > .ui-group__title:first-child,
.pulse-admin-shell.sys-page .users-list-section > .ui-group__title:first-child {
  margin-top: var(--ui-space-2);
}
.pulse-admin-shell.sys-page .ui-group__foot {
  margin: var(--ui-space-2) var(--ui-space-4) 0;
  font: var(--ui-footnote);
  color: var(--ui-label-2);
}

/* ---------- Zeilenmenü ⋯ ---------- */
.pulse-admin-shell .row-menu {
  position: relative;
  flex: none;
}
.pulse-admin-shell .row-menu > summary {
  list-style: none;
  cursor: pointer;
  min-width: 2.5rem;
  text-align: center;
}
.pulse-admin-shell .row-menu > summary::-webkit-details-marker {
  display: none;
}
.pulse-admin-shell .row-menu > summary.btn {
  min-height: var(--ui-control-s);
  padding: 0 12px;
  border: 0;
  border-radius: var(--ui-radius-s);
  background: var(--ui-tint-soft);
  color: var(--ui-tint-ink);
  font: 600 14px/1 var(--ui-font);
  box-shadow: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.pulse-admin-shell .row-menu__panel {
  position: absolute;
  right: 0;
  top: calc(100% + 4px);
  z-index: 15; /* unter der Kopfleiste (20) */
  display: grid;
  min-width: 14rem;
  padding: 6px;
  border: 1px solid var(--ui-separator);
  border-radius: var(--ui-radius-m);
  background: var(--ui-surface);
  box-shadow: var(--ui-shadow-pop);
}
.pulse-admin-shell .row-menu__panel .btn.row-menu__item,
.pulse-admin-shell .row-menu__item {
  width: 100%;
  min-height: 40px;
  padding: 0 var(--ui-space-3);
  justify-content: flex-start;
  border: 0;
  border-radius: var(--ui-radius-s);
  background: transparent;
  box-shadow: none;
  font: var(--ui-subhead);
  color: var(--ui-label);
  text-align: left;
}
.pulse-admin-shell .row-menu__panel .btn.row-menu__item:hover:not(:disabled),
.pulse-admin-shell .row-menu__panel .btn.row-menu__item:focus-visible {
  background: var(--ui-fill);
  color: var(--ui-label);
}
.pulse-admin-shell .row-menu__panel .btn.row-menu__item.is-danger {
  color: var(--ui-red-ink);
}

/* ---------- Benutzer: Liste ---------- */
.pulse-admin-shell .users-page {
  gap: 0;
  margin-top: 0;
}
.pulse-admin-shell .users-controls {
  margin: 0 0 var(--ui-space-2);
  padding: 0;
  border: 0;
  background: none;
}
.pulse-admin-shell .users-list-section {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
}
.pulse-admin-shell .users-table-wrap {
  margin: 0;
}
.pulse-admin-shell .users-list.ui-group {
  list-style: none;
  margin: 0;
  padding: 0;
  overflow: visible; /* das Menü ⋯ ragt aus der Gruppe heraus; die Ecken runden Erste und Letzte Zeile selbst */
}
.pulse-admin-shell .users-row {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--ui-space-2);
  min-height: 64px;
  padding-right: var(--ui-space-3);
}
.pulse-admin-shell .users-row:first-child {
  border-top-left-radius: var(--ui-radius-l);
  border-top-right-radius: var(--ui-radius-l);
}
.pulse-admin-shell .users-row:last-child {
  border-bottom-left-radius: var(--ui-radius-l);
  border-bottom-right-radius: var(--ui-radius-l);
}
/* Trennlinie ab dem Symbolfeld */
.pulse-admin-shell .users-row + .users-row::before {
  content: "";
  position: absolute;
  top: 0;
  left: var(--ui-space-4);
  right: 0;
  height: 1px;
  background: var(--ui-separator);
}
.pulse-admin-shell .users-row:hover {
  background: var(--ui-surface-2);
}
.pulse-admin-shell .users-row__main {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: var(--ui-space-3);
  margin: 0;
  padding: var(--ui-space-3) 0 var(--ui-space-3) var(--ui-space-4);
  border: 0;
  border-radius: inherit;
  background: transparent;
  box-shadow: none;
  color: var(--ui-label);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.pulse-admin-shell .users-row__main:focus-visible {
  outline: 3px solid var(--focus, #0052cc);
  outline-offset: -3px;
}
.pulse-admin-shell .users-row__avatar::before {
  content: attr(data-initials);
  font: 600 15px/1 var(--ui-font);
  letter-spacing: 0.02em;
}
.pulse-admin-shell .users-row__text,
.pulse-admin-shell .ws-row__text {
  flex: 1 1 0;
  min-width: 0;
}
.pulse-admin-shell .users-row__name,
.pulse-admin-shell .ws-row__name {
  display: block;
  font: var(--ui-headline);
  color: var(--ui-label);
  overflow-wrap: anywhere;
}
.pulse-admin-shell .users-row__sub,
.pulse-admin-shell .ws-row__sub {
  display: block;
  margin-top: 2px;
  font: var(--ui-footnote);
  color: var(--ui-label-2);
  overflow-wrap: anywhere;
}
.pulse-admin-shell .users-row__chips,
.pulse-admin-shell .ws-row__chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  flex: none;
}
.pulse-admin-shell .users-row__main .ui-cell__chevron {
  margin-left: var(--ui-space-1);
}
.pulse-admin-shell .users-row__more {
  align-self: center;
}

/* ---------- Benutzer: Dialog (Anlegen/Bearbeiten) und alle Dialoge dieser Seiten ---------- */
.pulse-admin-shell.sys-page dialog.admin-dialog {
  border: 0;
  border-radius: var(--ui-radius-xl);
  background: var(--ui-ground);
  color: var(--ui-label);
  box-shadow: var(--ui-shadow-pop);
}
.pulse-admin-shell.sys-page dialog.admin-dialog > form.panel,
.pulse-admin-shell.sys-page dialog.admin-dialog > .panel {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
}
.pulse-admin-shell.sys-page dialog.admin-dialog h2 {
  font: var(--ui-title-2);
  letter-spacing: var(--ui-tracking-title);
  color: var(--ui-label);
}
.pulse-admin-shell .users-form-section {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
}
.pulse-admin-shell .users-field.ui-cell {
  flex-wrap: wrap;
}
.pulse-admin-shell .users-field[hidden],
.pulse-admin-shell.sys-page .ui-cell[hidden] {
  display: none;
}
.pulse-admin-shell .users-field > .form-error,
.pulse-admin-shell .users-field > .field-hint,
.pulse-admin-shell .users-field > .auto-status {
  flex: 1 1 100%;
  margin: -2px 0 0;
  font: var(--ui-footnote);
}
.pulse-admin-shell .users-field > .form-error {
  color: var(--ui-red-ink);
}
.pulse-admin-shell .users-field > .auto-status {
  color: var(--ui-label-2);
}
.pulse-admin-shell .users-field > .auto-status.auto-status--failed {
  color: var(--ui-red-ink);
}
.pulse-admin-shell .users-field > .form-error[hidden],
.pulse-admin-shell .users-field > .field-hint[hidden] {
  display: none;
}

/* ---------- Workspaces: Liste ---------- */
.pulse-admin-shell .ws-list.ui-group {
  list-style: none;
  margin: 0;
  padding: 0;
}
.pulse-admin-shell .ws-row {
  display: flex;
  flex-direction: column;
  gap: var(--ui-space-3);
  padding: var(--ui-space-3) var(--ui-space-4);
}
.pulse-admin-shell .ws-row + .ws-row {
  border-top: 1px solid var(--ui-separator);
  margin-left: var(--ui-space-4);
  padding-left: 0;
}
.pulse-admin-shell .ws-row__head {
  display: flex;
  align-items: center;
  gap: var(--ui-space-3);
}
.pulse-admin-shell .ws-row__sub code {
  font-size: 12px;
  background: none;
  padding: 0;
  color: inherit;
}
.pulse-admin-shell .ws-row__manage {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--ui-space-2);
  padding-left: calc(40px + var(--ui-space-3));
}
.pulse-admin-shell .ws-row__manage .btn.ui-btn {
  min-height: var(--ui-control-s);
  min-width: 0;
  padding: 0 12px;
  border: 0;
  border-radius: var(--ui-radius-s);
  font: 600 14px/1 var(--ui-font);
  box-shadow: none;
}
.pulse-admin-shell .ws-row__manage .btn.ui-btn--primary {
  background: var(--ui-tint);
  color: var(--ui-on-tint);
}
.pulse-admin-shell .ws-row__manage .btn.ui-btn--quiet,
.pulse-admin-shell .ws-row__manage .btn.ui-btn--quiet:hover:not(:disabled) {
  background: var(--ui-tint-soft);
  color: var(--ui-tint-ink);
}
.pulse-admin-shell .ws-foot {
  margin-bottom: var(--ui-space-4);
}

/* Handy: Chips und Verwaltung rücken unter den Namen */
@media (max-width: 40rem) {
  .pulse-admin-shell .users-row__main {
    flex-wrap: wrap;
    align-items: flex-start;
    row-gap: var(--ui-space-2);
  }
  .pulse-admin-shell .users-row__main .ui-cell__chevron {
    align-self: center;
  }
  .pulse-admin-shell .users-row__chips {
    order: 3;
    flex: 1 1 100%;
    justify-content: flex-start;
    padding-left: calc(40px + var(--ui-space-3));
  }
  .pulse-admin-shell .users-row__more {
    align-self: flex-start;
    margin-top: var(--ui-space-3);
  }
  .pulse-admin-shell .ws-row__head {
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .pulse-admin-shell .ws-row__chips {
    flex: 1 1 100%;
    justify-content: flex-start;
    padding-left: calc(40px + var(--ui-space-3));
  }
  .pulse-admin-shell .row-menu__panel {
    left: auto;
    right: 0;
  }
}

/* ---------- Systemseiten: Abschnitte, Zeilen mit Feldern, Knöpfe, Aktionsleiste ---------- */
.pulse-admin-shell.sys-page .sys-sections {
  gap: 0;
}
.pulse-admin-shell.sys-page .sys-section {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
.pulse-admin-shell.sys-page .sys-section[hidden] {
  display: none;
}
.pulse-admin-shell.sys-page form.pulse-admin-form {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
/* Aufklappbare Gruppe: Titel mit Pfeil, darunter die Gruppe */
.pulse-admin-shell.sys-page details.sys-disclosure {
  border: 0;
  border-radius: 0;
  background: none;
  padding: 0;
  box-shadow: none;
}
.pulse-admin-shell.sys-page details.sys-disclosure > summary.ui-group__title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ui-space-2);
  min-height: 44px;
  margin: var(--ui-space-3) 0 0 var(--ui-space-4);
  padding: 0 var(--ui-space-4) 0 0;
  list-style: none;
  cursor: pointer;
}
.pulse-admin-shell.sys-page details.sys-disclosure > summary::-webkit-details-marker {
  display: none;
}
.pulse-admin-shell.sys-page details.sys-disclosure > summary::after {
  content: "";
  flex: none;
  width: 8px;
  height: 8px;
  border-right: 2px solid var(--ui-label-3);
  border-bottom: 2px solid var(--ui-label-3);
  transform: rotate(45deg) translateY(-2px);
  transition: transform var(--ui-ease);
}
.pulse-admin-shell.sys-page details.sys-disclosure[open] > summary::after {
  transform: rotate(-135deg) translateY(-2px);
}
.pulse-admin-shell.sys-page details.sys-disclosure > summary:focus-visible {
  outline: 3px solid var(--focus, #0052cc);
  outline-offset: 2px;
  border-radius: var(--ui-radius-s);
}
.pulse-admin-shell.sys-page details.sys-disclosure[open] > summary + * {
  margin-top: 0;
}
.pulse-admin-shell.sys-page .settings-panel {
  margin-top: 0;
}

/* Zeilen: Statuszeile und Fehler unter dem Feld, volle Breite; leere Statuszeilen nehmen keinen Platz */
.pulse-admin-shell.sys-page .ui-cell {
  flex-wrap: wrap;
  row-gap: 2px;
}
.pulse-admin-shell.sys-page .ui-cell > .auto-status:empty,
.pulse-admin-shell.sys-page .ui-cell > .form-error[hidden] {
  display: none;
}
.pulse-admin-shell.sys-page .ui-cell > .form-error {
  flex: 1 1 100%;
  margin: 0;
  font: var(--ui-footnote);
  color: var(--ui-red-ink);
}
.pulse-admin-shell.sys-page .ui-cell--stack > input:not([type="checkbox"], [type="radio"], [type="range"], [type="color"], [type="file"], [type="hidden"], [type="button"], [type="submit"]) {
  flex: 1 1 100%;
  width: 100%;
  min-height: 40px;
  margin: 0 0 var(--ui-space-2);
  padding: 0 var(--ui-space-3);
  border-radius: var(--ui-radius-s);
  background: var(--ui-ground);
  text-align: left;
}
.pulse-admin-shell.sys-page .ui-cell > input[type="file"] {
  flex: 0 1 min(100%, 18rem);
  min-width: 0;
  width: auto;
  padding: 0;
  border: 0;
  background: none;
  font: var(--ui-footnote);
  color: var(--ui-label-2);
}
.pulse-admin-shell.sys-page .ui-cell > input[type="file"]::file-selector-button {
  margin-right: var(--ui-space-2);
  padding: 0 12px;
  height: var(--ui-control-s);
  border: 0;
  border-radius: var(--ui-radius-s);
  background: var(--ui-tint-soft);
  color: var(--ui-tint-ink);
  font: 600 14px/1 var(--ui-font);
  cursor: pointer;
}
.pulse-admin-shell.sys-page .ui-cell > input[readonly] {
  color: var(--ui-label-2);
}
.pulse-admin-shell.sys-page .ui-cell > .ui-cell__value {
  flex: 0 1 auto;
  min-width: 0;
  overflow-wrap: anywhere;
}
.pulse-admin-shell.sys-page .ui-cell > code.ui-cell__value {
  font-size: 14px;
  background: none;
  padding: 0;
}
.pulse-admin-shell.sys-page .ui-group > .ui-cell:first-child {
  border-top-left-radius: var(--ui-radius-l);
  border-top-right-radius: var(--ui-radius-l);
}

/* Fußnoten, Statuszeilen und Meldungen unter einer Gruppe */
.pulse-admin-shell.sys-page p.ui-group__foot {
  margin-bottom: 0;
}
.pulse-admin-shell.sys-page p.ui-group__foot:empty,
.pulse-admin-shell.sys-page #alerts-events-status:empty {
  display: none;
}
.pulse-admin-shell.sys-page #alerts-events-status {
  display: block;
  margin: var(--ui-space-2) var(--ui-space-4) 0;
  font: var(--ui-footnote);
  color: var(--ui-label-2);
}
.pulse-admin-shell.sys-page .ssl-field .form-error {
  color: var(--ui-red-ink);
}

/* Aktionsleiste unter einer Gruppe: eine Zeile Knöpfe, nicht klebend, ohne Linie */
.pulse-admin-shell.sys-page .sys-actions,
.pulse-admin-shell.sys-page .pulse-admin-form-sticky {
  position: static;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--ui-space-2);
  margin: var(--ui-space-4) 0 0;
  padding: 0;
  border: 0;
  background: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  flex-direction: row;
}
.pulse-admin-shell.sys-page p.sys-actions {
  margin-top: var(--ui-space-2);
}

/* Knöpfe: alte Klassen (btn, pulse-btn-*) bleiben, die Optik kommt von ui-btn */
.pulse-admin-shell.sys-page .btn.ui-btn {
  min-width: 0;
  min-height: var(--ui-control);
  padding: 0 var(--ui-space-4);
  border: 0;
  border-radius: var(--ui-radius-m);
  box-shadow: none;
  font: 600 15px/1 var(--ui-font);
  width: auto;
}
.pulse-admin-shell.sys-page .btn.ui-btn--s {
  min-height: var(--ui-control-s);
  padding: 0 12px;
  font-size: 14px;
}
.pulse-admin-shell.sys-page .btn.ui-btn--primary,
.pulse-admin-shell.sys-page .btn.ui-btn--primary:hover:not(:disabled) {
  background: var(--ui-tint);
  color: var(--ui-on-tint);
}
.pulse-admin-shell.sys-page .btn.ui-btn--primary:hover:not(:disabled) {
  background: color-mix(in srgb, var(--ui-tint) 88%, #000000);
}
.pulse-admin-shell.sys-page .btn.ui-btn--quiet,
.pulse-admin-shell.sys-page .btn.ui-btn--quiet:hover:not(:disabled) {
  background: var(--ui-tint-soft);
  color: var(--ui-tint-ink);
}
.pulse-admin-shell.sys-page .btn.ui-btn--danger,
.pulse-admin-shell.sys-page .btn.ui-btn--danger:hover:not(:disabled) {
  background: transparent;
  color: var(--ui-red-ink);
}
.pulse-admin-shell.sys-page .btn.ui-btn--ghost,
.pulse-admin-shell.sys-page .btn.ui-btn--ghost:hover:not(:disabled) {
  background: transparent;
  color: var(--ui-tint-ink);
}
.pulse-admin-shell.sys-page .btn.ui-btn:disabled {
  opacity: 0.5;
}
.pulse-admin-shell.sys-page .btn.ui-btn[hidden] {
  display: none;
}
/* In einer Zeile steht der Knopf rechts und bricht nicht um */
.pulse-admin-shell.sys-page .ui-cell > .btn.ui-btn {
  flex: none;
}

/* Dialoge der Seiten (auch die in der Seite angelegten, z. B. Wiederherstellen) */
.pulse-admin-shell.sys-page dialog.modal {
  border: 0;
  border-radius: var(--ui-radius-xl);
  background: var(--ui-ground);
  color: var(--ui-label);
  box-shadow: var(--ui-shadow-pop);
}
.pulse-admin-shell.sys-page dialog.modal > form.panel,
.pulse-admin-shell.sys-page dialog.modal > .panel {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
}
.pulse-admin-shell.sys-page dialog.modal h2 {
  font: var(--ui-title-2);
  letter-spacing: var(--ui-tracking-title);
  color: var(--ui-label);
}
.pulse-admin-shell.sys-page dialog.modal .muted {
  color: var(--ui-label-2);
}
.pulse-admin-shell.sys-page dialog.modal .modal-actions {
  gap: var(--ui-space-2);
}
.pulse-admin-shell fieldset.backup-restore-section {
  min-width: 0;
  margin: 0 0 var(--ui-space-2);
  padding: 0;
  border: 0;
}
.pulse-admin-shell fieldset.backup-restore-section > legend {
  padding: 0;
}
.pulse-admin-shell .backup-restore-item.is-missing {
  opacity: 0.6;
}
/* Handy: Ecken bleiben gerundet, der Dialog steht mittig mit Rand (Etappe 9 · Dialoge zentriert) */

/* ---------- Protokoll-Tabellen im neuen Look ---------- */
.pulse-admin-shell.sys-page .sys-table-wrap {
  margin: 0;
  overflow-x: auto; /* am Handy scrollt nur dieser Behälter waagerecht, nie die Seite */
  max-width: 100%;
  border-radius: var(--ui-radius-l);
  background: var(--ui-surface);
  box-shadow: var(--ui-shadow-card);
  -webkit-overflow-scrolling: touch;
}
.pulse-admin-shell.sys-page .sys-table-wrap:focus-visible {
  outline: 3px solid var(--focus, #0052cc);
  outline-offset: 2px;
}
.pulse-admin-shell.sys-page table.sys-table {
  width: 100%;
  min-width: 34rem;
  border-collapse: collapse;
  border-spacing: 0;
  font: var(--ui-subhead);
  color: var(--ui-label);
}
.pulse-admin-shell.sys-page table.sys-table th,
.pulse-admin-shell.sys-page table.sys-table td {
  padding: var(--ui-space-3) var(--ui-space-4);
  border: 0;
  border-top: 1px solid var(--ui-separator);
  text-align: left;
  vertical-align: top;
  overflow-wrap: break-word;
}
.pulse-admin-shell.sys-page table.sys-table thead th {
  border-top: 0;
  border-bottom: 1px solid var(--ui-separator);
  font: var(--ui-caption);
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--ui-label-2);
  white-space: nowrap;
}
.pulse-admin-shell.sys-page table.sys-table td:nth-child(-n + 2) {
  white-space: nowrap;
}
.pulse-admin-shell.sys-page table.sys-table td[colspan] {
  white-space: normal;
}
.pulse-admin-shell.sys-page table.sys-table tbody tr:first-child td,
.pulse-admin-shell.sys-page table.sys-table tbody tr:first-child th {
  border-top: 0;
}
.pulse-admin-shell.sys-page table.sys-table tbody th {
  font-weight: 500;
}
.pulse-admin-shell.sys-page table.sys-table td.muted {
  color: var(--ui-label-2);
}
.pulse-admin-shell.sys-page table.sys-table td.backup-actions {
  display: table-cell;
}
.pulse-admin-shell.sys-page table.sys-table [data-backup-actions],
.pulse-admin-shell.sys-page table.sys-table [data-rollback-host] {
  display: flex;
  flex-wrap: nowrap;
  gap: 6px;
}
.pulse-admin-shell.sys-page table.sys-table code {
  font-size: 13px;
  background: none;
  padding: 0;
  color: var(--ui-label-2);
}
.pulse-admin-shell.sys-page table.stats-ux__table td,
.pulse-admin-shell.sys-page table.stats-ux__table thead th:not(:first-child) {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.pulse-admin-shell.sys-page table.stats-ux__table {
  min-width: 0;
}
.pulse-admin-shell.sys-page .sys-table-wrap + .sys-table-wrap,
.pulse-admin-shell.sys-page .alerts-log-controls + .sys-table-wrap {
  margin-top: var(--ui-space-2);
}

/* ---------- Einstellungen: Vorschau des Imports ---------- */
.pulse-admin-shell.sys-page .sys-preview {
  display: flex;
  flex-direction: column;
  gap: var(--ui-space-2);
  margin-top: var(--ui-space-3);
  padding: var(--ui-space-4);
}
.pulse-admin-shell.sys-page .sys-preview[hidden] {
  display: none;
}
.pulse-admin-shell.sys-page .sys-preview h3 {
  margin: 0;
  font: var(--ui-headline);
}
.pulse-admin-shell.sys-page .sys-preview p,
.pulse-admin-shell.sys-page .sys-preview ul {
  margin: 0;
}
.pulse-admin-shell.sys-page .sys-preview .sys-actions {
  margin: 0;
}

/* ---------- SSL: Zertifikate als Zeilen ---------- */
.pulse-admin-shell.sys-page .ssl-list {
  display: block;
}
.pulse-admin-shell.sys-page .ssl-card {
  margin: 0;
  padding: var(--ui-space-3) var(--ui-space-4);
  border: 0;
  border-radius: 0;
  background: none;
  color: var(--ui-label);
}
.pulse-admin-shell.sys-page .ssl-card + .ssl-card {
  margin-left: var(--ui-space-4);
  padding-left: 0;
  border-top: 1px solid var(--ui-separator);
}
.pulse-admin-shell.sys-page .ssl-card-head {
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: var(--ui-space-2);
}
.pulse-admin-shell.sys-page .ssl-card-head > strong {
  flex: 1 1 auto;
  min-width: 0;
  font: var(--ui-headline);
  overflow-wrap: anywhere;
}
.pulse-admin-shell.sys-page .ssl-card p {
  margin: 2px 0 0;
  font: var(--ui-footnote);
  color: var(--ui-label-2);
}
.pulse-admin-shell.sys-page .ssl-card p.ssl-error {
  color: var(--ui-red-ink);
}
.pulse-admin-shell.sys-page .ssl-status.ui-chip {
  padding: 3px 9px;
  background: var(--ui-fill);
  color: var(--ui-label);
  font: var(--ui-caption);
}
.pulse-admin-shell.sys-page .ssl-status.ui-chip[data-status="active"] {
  background: var(--ui-green-soft);
  color: var(--ui-green-ink);
}
.pulse-admin-shell.sys-page .ssl-status.ui-chip[data-status="error"],
.pulse-admin-shell.sys-page .ssl-status.ui-chip[data-status="expired"] {
  background: var(--ui-red-soft);
  color: var(--ui-red-ink);
}
.pulse-admin-shell.sys-page .ssl-pill {
  padding: 3px 9px;
  background: var(--ui-amber-soft);
  color: var(--ui-amber-ink);
  font: var(--ui-caption);
}
.pulse-admin-shell.sys-page .ssl-pill.ssl-pill-managed {
  background: var(--ui-tint-soft);
  color: var(--ui-tint-ink);
}
.pulse-admin-shell.sys-page .ssl-actions {
  margin-top: var(--ui-space-2);
}

/* ---------- Updates ---------- */
.pulse-admin-shell.sys-page .update-version-row {
  display: block;
  margin: 0;
}
.pulse-admin-shell.sys-page .update-version-current {
  font: var(--ui-headline);
  color: var(--ui-label);
}
.pulse-admin-shell.sys-page .update-version-latest {
  font: var(--ui-headline);
  color: var(--ui-label);
}
.pulse-admin-shell.sys-page .update-badge.ui-chip {
  padding: 3px 9px;
  background: var(--ui-tint-soft);
  color: var(--ui-tint-ink);
  font: var(--ui-caption);
}
.pulse-admin-shell.sys-page .update-badge.ui-chip.is-critical {
  background: var(--ui-red-soft);
  color: var(--ui-red-ink);
}
.pulse-admin-shell.sys-page .update-badge[hidden] {
  display: none;
}
.pulse-admin-shell.sys-page .update-docker-hint {
  margin: 0 0 var(--ui-space-3);
  padding: var(--ui-space-3) var(--ui-space-4);
  border: 0;
  border-radius: var(--ui-radius-m);
  background: var(--ui-amber-soft);
  color: var(--ui-amber-ink);
  font: var(--ui-subhead);
}
.pulse-admin-shell.sys-page .update-docker-hint[hidden],
.pulse-admin-shell.sys-page #update-disabled-hint[hidden] {
  display: none;
}
.pulse-admin-shell.sys-page #update-disabled-hint {
  margin: 0 0 var(--ui-space-3);
  font: var(--ui-callout);
  color: var(--ui-label-2);
}
.pulse-admin-shell.sys-page .update-progress-panel {
  margin: var(--ui-space-3) 0 0;
  padding: var(--ui-space-4);
}
.pulse-admin-shell.sys-page .update-progress-panel[hidden] {
  display: none;
}
.pulse-admin-shell.sys-page .update-progress-panel .update-progress-label {
  margin: 0 0 var(--ui-space-2);
  font: var(--ui-subhead);
  color: var(--ui-label-2);
}
.pulse-admin-shell.sys-page .update-progress-bar {
  height: 8px;
  border-radius: 4px;
  background: var(--ui-fill);
}
.pulse-admin-shell.sys-page .update-progress-fill {
  background: var(--ui-tint);
}
.pulse-admin-shell.sys-page .update-release-notes {
  max-height: 28rem;
  overflow: auto;
  padding: var(--ui-space-4);
  border: 0;
  border-radius: 8px;
  background: var(--ui-surface);
  font: var(--ui-subhead);
  color: var(--ui-label);
}
.pulse-admin-shell.sys-page .update-release-notes p {
  margin: 0 0 var(--ui-space-2);
}
.pulse-admin-shell.sys-page .update-release-notes .muted {
  color: var(--ui-label-2);
}
.pulse-admin-shell.sys-page .update-note-breaking {
  color: var(--ui-red-ink);
  border-left-color: var(--ui-red);
}
.pulse-admin-shell.sys-page .update-note-feature {
  color: var(--ui-green-ink);
  border-left-color: var(--ui-green);
}

/* ---------- Alarme & Log ---------- */
.pulse-admin-shell.sys-page .alerts-status-list {
  margin: 0;
}
.pulse-admin-shell.sys-page .alerts-status-list .ui-cell {
  align-items: flex-start;
}
.pulse-admin-shell.sys-page .alerts-status-list .ui-cell__label {
  flex: 0 0 auto;
  max-width: 40%;
  color: var(--ui-label-2);
  font: var(--ui-subhead);
}
.pulse-admin-shell.sys-page .alerts-status-list .ui-cell__value {
  flex: 1 1 0;
  text-align: right;
  font: var(--ui-subhead);
  color: var(--ui-label);
}
#view-alerts.sys-page .admin-status-warn {
  color: var(--ui-red-ink);
  font-weight: 600;
}
#view-alerts.sys-page #alerts-events {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}
.pulse-admin-shell.sys-page .alerts-log-controls {
  margin-bottom: 0;
}
.pulse-admin-shell.sys-page .alerts-log-controls .ui-cell__label {
  flex: 0 0 auto;
  margin-right: auto;
}
.pulse-admin-shell.sys-page #alerts-events-table {
  min-width: 46rem;
}
.pulse-admin-shell.sys-page .alerts-status-list + .sys-table-wrap,
.pulse-admin-shell.sys-page #alerts-status > .sys-table-wrap {
  margin-top: var(--ui-space-2);
}
.pulse-admin-shell.sys-page #alerts-status > p.muted {
  margin: var(--ui-space-2) var(--ui-space-4) 0;
  font: var(--ui-footnote);
  color: var(--ui-label-2);
}

/* ---------- Statistik ---------- */
.pulse-admin-shell.sys-page .stats-page {
  display: block;
}
.pulse-admin-shell.sys-page .stats-kpis.ui-group {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.pulse-admin-shell.sys-page .stats-kpi.ui-cell {
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  margin: 0;
  padding: var(--ui-space-4);
  border: 0;
  border-radius: 0;
  background: none;
}
.pulse-admin-shell.sys-page .stats-kpi.ui-cell + .stats-kpi {
  border-left: 1px solid var(--ui-separator);
}
.pulse-admin-shell.sys-page .stats-kpi__value {
  font: var(--ui-title-1);
  font-variant-numeric: tabular-nums;
  color: var(--ui-label);
}
.pulse-admin-shell.sys-page .stats-kpi__label {
  margin: 0;
  font: var(--ui-headline);
  color: var(--ui-label);
}
.pulse-admin-shell.sys-page .stats-kpi__hint {
  font: var(--ui-footnote);
  color: var(--ui-label-2);
}
.pulse-admin-shell.sys-page .stats-charts {
  margin-top: var(--ui-space-4);
  gap: var(--ui-space-4);
}
.pulse-admin-shell.sys-page .stats-chart.ui-group {
  padding: var(--ui-space-4);
}
.pulse-admin-shell.sys-page .stats-chart h2 {
  margin: 0 0 var(--ui-space-2);
  font: var(--ui-headline);
  letter-spacing: 0;
  color: var(--ui-label);
}
.pulse-admin-shell.sys-page .stats-grid {
  stroke: var(--ui-separator);
}
.pulse-admin-shell.sys-page .stats-axis {
  fill: var(--ui-label-2);
}
.pulse-admin-shell.sys-page .stats-notes ul.ui-group__foot {
  margin: var(--ui-space-2) var(--ui-space-4) 0;
  padding-inline-start: 1.1rem;
  list-style: disc;
}
.pulse-admin-shell.sys-page .stats-notes ul.ui-group__foot + p.ui-group__foot {
  margin-top: var(--ui-space-2);
}
.pulse-admin-shell.sys-page .stats-ux {
  margin: 0;
}

/* ---------- Rückmeldungen (Tickets) ---------- */
.pulse-admin-shell.sys-page .bugs-page-bar {
  margin: 0;
  align-items: flex-end;
}
.pulse-admin-shell.sys-page .bugs-page-bar .ui-group__title {
  margin-bottom: 0;
}
.pulse-admin-shell.sys-page .bugs-page-bar .btn.ui-btn {
  margin-bottom: 0;
}
.pulse-admin-shell.sys-page .ticket-filters {
  margin: var(--ui-space-3) 0;
}
.pulse-admin-shell.sys-page .ticket {
  margin: 0 0 var(--ui-space-6);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
.pulse-admin-shell.sys-page .ticket__title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px var(--ui-space-2);
  margin: 0 0 var(--ui-space-2) var(--ui-space-1);
  font: var(--ui-headline);
  color: var(--ui-label);
}
.pulse-admin-shell.sys-page .ticket__id {
  overflow-wrap: anywhere;
}
.pulse-admin-shell.sys-page .ticket .ui-group + .ui-group {
  margin-top: var(--ui-space-2);
}
.pulse-admin-shell.sys-page .ticket__cell > * {
  flex: 1 1 100%;
  min-width: 0;
  margin: 0;
}
.pulse-admin-shell.sys-page .ticket__cell {
  padding-top: var(--ui-space-3);
  padding-bottom: var(--ui-space-3);
}
.pulse-admin-shell.sys-page .ticket__msg {
  font: var(--ui-body);
  overflow-wrap: anywhere;
}
.pulse-admin-shell.sys-page .ticket-facts,
.pulse-admin-shell.sys-page .ticket__meta {
  font: var(--ui-footnote);
  color: var(--ui-label-2);
}
.pulse-admin-shell.sys-page .ticket-replies {
  display: grid;
  gap: var(--ui-space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}
.pulse-admin-shell.sys-page .ticket-replies[hidden] {
  display: none;
}
.pulse-admin-shell.sys-page .ticket-replies li {
  padding: var(--ui-space-2) var(--ui-space-3);
  border-left: 3px solid var(--ui-tint);
  border-radius: 0 var(--ui-radius-s) var(--ui-radius-s) 0;
  background: var(--ui-ground);
  font: var(--ui-subhead);
}
.pulse-admin-shell.sys-page .ticket-shot {
  border: 1px solid var(--ui-separator);
  border-radius: var(--ui-radius-s);
}
.pulse-admin-shell.sys-page .ticket pre {
  margin: var(--ui-space-2) 0 0;
  padding: var(--ui-space-3);
  border-radius: var(--ui-radius-s);
  background: var(--ui-ground);
  color: var(--ui-label);
  font-size: 12px;
}
.pulse-admin-shell.sys-page .ticket .ui-cell > .ui-cell__sub[data-bug-reply-hint] {
  margin: 0;
}
.pulse-admin-shell.sys-page #ticket-tokens {
  margin-top: var(--ui-space-6);
}
.pulse-admin-shell.sys-page #ticket-token-once {
  font-size: 14px;
  background: var(--ui-ground);
  padding: 2px 6px;
  border-radius: 6px;
  color: var(--ui-label);
}
.pulse-admin-shell.sys-page .list-empty {
  margin-left: 0;
}

/* Handy */
@media (max-width: 40rem) {
  .pulse-admin-shell.sys-page .stats-kpis.ui-group {
    grid-template-columns: minmax(0, 1fr);
  }
  .pulse-admin-shell.sys-page .stats-kpi.ui-cell + .stats-kpi {
    border-left: 0;
    border-top: 1px solid var(--ui-separator);
  }
  .pulse-admin-shell.sys-page .alerts-status-list .ui-cell__label {
    flex-basis: 100%;
    max-width: none;
  }
  .pulse-admin-shell.sys-page .alerts-status-list .ui-cell__value {
    flex-basis: 100%;
    text-align: left;
  }
  .pulse-admin-shell.sys-page .sys-actions .btn.ui-btn--primary {
    flex: 1 1 100%;
  }
}

/* ---------- Teams: Karten zum Anfassen, Dialog als Gruppen ---------- */
.pulse-admin-shell .teams-page {
  gap: 0;
  margin-top: 0;
}
.pulse-admin-shell .teams-list-section {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
}
.pulse-admin-shell .teams-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--ui-space-3);
  margin: 0;
}
@media (min-width: 40rem) {
  .pulse-admin-shell .teams-grid {
    grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr));
  }
}
/* Eine Karte je Team: flache Fläche, die ganze Karte öffnet das Team; der Pubquiz-Knopf liegt darunter */
.pulse-admin-shell .team-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--ui-space-2);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--ui-radius-l);
  background: var(--ui-surface);
  box-shadow: var(--ui-shadow-card);
  overflow: hidden;
}
.pulse-admin-shell .team-card:hover {
  background: var(--ui-surface-2);
}
.pulse-admin-shell .team-card-btn {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--ui-space-2) var(--ui-space-3);
  width: 100%;
  min-height: 64px;
  margin: 0;
  padding: var(--ui-space-4);
  border: 0;
  border-radius: inherit;
  background: transparent;
  box-shadow: none;
  color: var(--ui-label);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.pulse-admin-shell .team-card-btn:focus-visible {
  outline: 3px solid var(--focus, #0052cc);
  outline-offset: -3px;
}
.pulse-admin-shell .team-card__icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.pulse-admin-shell .team-card__text {
  display: block;
  min-width: 0;
}
.pulse-admin-shell .team-card__name {
  display: block;
  font: var(--ui-headline);
  overflow-wrap: anywhere;
}
.pulse-admin-shell .team-card__desc {
  display: block;
  margin-top: 2px;
  font: var(--ui-footnote);
  color: var(--ui-label-2);
  overflow-wrap: anywhere;
}
.pulse-admin-shell .team-card .team-meta {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
}
.pulse-admin-shell .team-card .btn.team-card-pubquiz {
  align-self: flex-start;
  margin: 0 var(--ui-space-4) var(--ui-space-4);
  min-height: var(--ui-control-s);
  padding: 0 12px;
  border: 0;
  border-radius: var(--ui-radius-s);
  background: var(--ui-tint-soft);
  color: var(--ui-tint-ink);
  font: 600 14px/1 var(--ui-font);
  box-shadow: none;
}
.pulse-admin-shell .team-card .team-card-btn:has(+ .team-card-pubquiz) {
  padding-bottom: var(--ui-space-2);
}

.pulse-admin-shell .teams-dialog-panel {
  max-width: 36rem;
}
.pulse-admin-shell .add-member-row.ui-group {
  display: block;
  margin: 0 0 var(--ui-space-3);
}
.pulse-admin-shell .add-member-row[hidden] {
  display: none;
}
.pulse-admin-shell .team-add-actions {
  justify-content: flex-end;
}
.pulse-admin-shell .team-add-actions .btn.ui-btn {
  min-height: var(--ui-control-s);
  padding: 0 14px;
  border: 0;
  border-radius: var(--ui-radius-s);
  font: 600 14px/1 var(--ui-font);
  box-shadow: none;
  width: auto;
}
.pulse-admin-shell .team-add-actions .btn.ui-btn--primary {
  background: var(--ui-tint);
  color: var(--ui-on-tint);
}
.pulse-admin-shell .members-list.ui-group,
.pulse-admin-shell .team-events.ui-group {
  list-style: none;
  margin: 0;
  padding: 0;
}
.pulse-admin-shell .members-list .member-item.ui-cell {
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0;
  padding: var(--ui-space-3) var(--ui-space-4);
  border: 0;
}
.pulse-admin-shell .members-list .member-item.ui-cell + .member-item.ui-cell {
  margin-left: var(--ui-space-4);
  padding-left: 0;
  border-top: 1px solid var(--ui-separator);
}
.pulse-admin-shell .member-item .member-info {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px var(--ui-space-2);
  min-width: 0;
  flex: 1 1 12rem;
}
.pulse-admin-shell .member-item .member-info strong {
  font: var(--ui-headline);
  overflow-wrap: anywhere;
}
.pulse-admin-shell .member-item .member-info .muted {
  font: var(--ui-footnote);
  color: var(--ui-label-2);
}
.pulse-admin-shell .member-item .badge.ui-chip {
  padding: 3px 9px;
  border: 0;
  background: var(--ui-tint-soft);
  color: var(--ui-tint-ink);
  font: var(--ui-caption);
}
.pulse-admin-shell .member-item .member-actions {
  flex: 0 1 auto;
  gap: var(--ui-space-2);
}
.pulse-admin-shell .member-item .member-actions select.member-role-select {
  width: auto;
  min-width: 9rem;
  min-height: 34px;
  padding: 0 var(--ui-space-2);
  border: 0;
  border-radius: var(--ui-radius-s);
  background-color: var(--ui-fill);
  color: var(--ui-label);
  font: var(--ui-subhead);
}
.pulse-admin-shell .member-item .member-actions .auto-status:empty {
  display: none;
}
.pulse-admin-shell .member-item .btn.ui-btn--danger {
  min-height: var(--ui-control-s);
  padding: 0 12px;
  border: 0;
  border-radius: var(--ui-radius-s);
  background: transparent;
  color: var(--ui-red-ink);
  font: 600 14px/1 var(--ui-font);
  box-shadow: none;
}
.pulse-admin-shell .team-events .ui-cell__label {
  color: var(--ui-tint-ink);
}
.pulse-admin-shell .team-events-section {
  margin-top: 0;
}
.pulse-admin-shell .teams-dialog .modal-actions .btn.ui-btn,
.pulse-admin-shell .teams-dialog .admin-form-actions .btn.ui-btn,
.pulse-admin-shell .users-dialog .admin-form-actions .btn.ui-btn {
  min-height: var(--ui-control);
  padding: 0 var(--ui-space-4);
  border: 0;
  border-radius: var(--ui-radius-m);
  font: 600 15px/1 var(--ui-font);
  box-shadow: none;
  width: auto;
}
.pulse-admin-shell .teams-dialog .btn.ui-btn--primary,
.pulse-admin-shell .users-dialog .btn.ui-btn--primary {
  background: var(--ui-tint);
  color: var(--ui-on-tint);
}
.pulse-admin-shell .teams-dialog .btn.ui-btn--quiet,
.pulse-admin-shell .users-dialog .btn.ui-btn--quiet {
  background: var(--ui-tint-soft);
  color: var(--ui-tint-ink);
}
.pulse-admin-shell .teams-dialog .admin-form-actions,
.pulse-admin-shell .users-dialog .admin-form-actions,
.pulse-admin-shell .teams-dialog .form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--ui-space-2);
  margin: var(--ui-space-4) 0 0;
  padding: 0;
  border: 0;
  position: static;
  background: none;
}
.pulse-admin-shell .teams-dialog .form-actions > .auto-status:not([hidden]),
.pulse-admin-shell .users-dialog .admin-form-actions > .auto-status:not([hidden]) {
  margin-right: auto;
  font: var(--ui-footnote);
  color: var(--ui-label-2);
}
.pulse-admin-shell .teams-dialog .form-actions > .auto-status[hidden],
.pulse-admin-shell .users-dialog .admin-form-actions > .auto-status[hidden] {
  display: none;
}

/* ---------- Fragenpool und Musikkatalog: Liste, Dialog ---------- */
.pulse-admin-shell .qp-panel,
.pulse-admin-shell .mc-panel {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
}
.pulse-admin-shell .qp-note,
.pulse-admin-shell .mc-note {
  margin: 0 0 var(--ui-space-3);
  font: var(--ui-callout);
  color: var(--ui-label-2);
}
.pulse-admin-shell .qp-tabs.session-tabs.ui-seg {
  margin: 0 0 var(--ui-space-4);
}
.pulse-admin-shell .qp-list.ui-group,
.pulse-admin-shell .mc-list.ui-group {
  list-style: none;
  margin: 0;
  padding: 0;
  display: block;
}
.pulse-admin-shell .qp-row.ui-cell,
.pulse-admin-shell .mc-row.ui-cell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--ui-space-2) var(--ui-space-4);
  min-height: 64px;
  margin: 0;
  padding: var(--ui-space-3) var(--ui-space-4);
  border: 0;
  border-radius: 0;
  background: none;
}
.pulse-admin-shell .mc-row.ui-cell {
  grid-template-columns: 48px minmax(0, 1fr) auto;
}
.pulse-admin-shell .qp-row.ui-cell + .qp-row.ui-cell::before,
.pulse-admin-shell .mc-row.ui-cell + .mc-row.ui-cell::before {
  content: "";
  position: absolute;
  top: 0;
  left: var(--ui-space-4);
  right: 0;
  height: 1px;
  background: var(--ui-separator);
}
.pulse-admin-shell .qp-row__question,
.pulse-admin-shell .mc-row__title {
  margin: 0;
  font: var(--ui-headline);
  color: var(--ui-label);
  overflow-wrap: anywhere;
}
.pulse-admin-shell .mc-row__artist {
  font-weight: 400;
  color: var(--ui-label-2);
}
.pulse-admin-shell .qp-row__meta,
.pulse-admin-shell .mc-row__meta {
  margin: 2px 0 0;
  font: var(--ui-footnote);
  color: var(--ui-label-2);
}
.pulse-admin-shell .qp-level [aria-hidden="true"] {
  color: var(--ui-tint-ink);
}

/* Antwortstatistik je Frage (Fragenpool): Kurzzeile unter der Frage, aufklappbar zur vollen Auswertung */
.pulse-admin-shell .qp-countbar,
.pulse-admin-shell .mc-countbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--ui-space-2) var(--ui-space-4);
  margin: 0 0 var(--ui-space-2);
}
.pulse-admin-shell .qp-countbar .list-count,
.pulse-admin-shell .mc-countbar .list-count {
  margin-bottom: 0;
}
.pulse-admin-shell .qp-scope:empty,
.pulse-admin-shell .mc-scope:empty {
  display: none;
}
.pulse-admin-shell .qp-row__stats,
.pulse-admin-shell .mc-row__stats {
  grid-column: 1 / -1;
  min-width: 0;
}
.pulse-admin-shell .qp-row__stats:empty,
.pulse-admin-shell .mc-row__stats:empty {
  display: none;
}
/* Musikkatalog: je Song ein aufklappbarer Bereich mit einer Statistik-Zeile je Frageart */
.pulse-admin-shell .mc-stats__body {
  display: grid;
  gap: var(--ui-space-1);
  margin-top: var(--ui-space-1);
}
.pulse-admin-shell .mc-stat {
  display: grid;
  grid-template-columns: minmax(4.5rem, 6rem) minmax(0, 1fr);
  align-items: start;
  gap: var(--ui-space-1) var(--ui-space-3);
}
.pulse-admin-shell .mc-stat__label {
  padding-top: 4px;
  font: var(--ui-footnote);
  font-weight: 600;
  color: var(--ui-label-2);
}
.pulse-admin-shell .mc-stat__row {
  min-width: 0;
}
.pulse-admin-shell .mc-stat__row .qs-line {
  padding-top: 4px;
}
.pulse-admin-shell .mc-stats__summary {
  display: inline-flex;
  align-items: center;
  gap: var(--ui-space-2);
  min-height: 28px;
  padding: 2px var(--ui-space-2);
  margin-left: calc(-1 * var(--ui-space-2));
  border-radius: var(--ui-radius-s);
  font: var(--ui-footnote);
  font-weight: 600;
  color: var(--ui-tint-ink);
  cursor: pointer;
  list-style: none;
}
.pulse-admin-shell .mc-stats__summary::-webkit-details-marker {
  display: none;
}
.pulse-admin-shell .mc-stats__summary::before {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
  transition: transform 0.15s var(--ui-ease);
}
.pulse-admin-shell .mc-stats[open] > .mc-stats__summary::before {
  transform: rotate(45deg);
}
.pulse-admin-shell .mc-stats__summary:hover {
  background: var(--ui-tint-soft);
}
.pulse-admin-shell .mc-stats__summary:focus-visible {
  outline: 3px solid var(--focus, #0052cc);
  outline-offset: 2px;
}
@media (max-width: 40rem) {
  .pulse-admin-shell .mc-stat {
    grid-template-columns: minmax(0, 1fr);
  }
  .pulse-admin-shell .mc-stat__label {
    padding-top: 0;
  }
}
.pulse-admin-shell .qs-line {
  margin: 0;
  font: var(--ui-footnote);
  color: var(--ui-label-2);
}
.pulse-admin-shell .qs-line--failed {
  color: var(--ui-amber-ink);
}
.pulse-admin-shell .qs-summary {
  display: inline-flex;
  align-items: center;
  gap: var(--ui-space-2);
  min-height: 28px;
  padding: 2px var(--ui-space-2);
  margin-left: calc(-1 * var(--ui-space-2));
  border-radius: var(--ui-radius-s);
  font: var(--ui-footnote);
  font-weight: 600;
  color: var(--ui-tint-ink);
  cursor: pointer;
  list-style: none;
}
.pulse-admin-shell .qs-summary::-webkit-details-marker {
  display: none;
}
.pulse-admin-shell .qs-summary::before {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
  transition: transform 0.15s var(--ui-ease);
}
.pulse-admin-shell .qs-detail[open] > .qs-summary::before {
  transform: rotate(45deg);
}
.pulse-admin-shell .qs-summary:hover {
  background: var(--ui-tint-soft);
}
.pulse-admin-shell .qs-summary:focus-visible {
  outline: 3px solid var(--focus, #0052cc);
  outline-offset: 2px;
}
.pulse-admin-shell .qs-body {
  display: grid;
  gap: var(--ui-space-3);
  margin-top: var(--ui-space-2);
  padding: var(--ui-space-3) var(--ui-space-4);
  border-radius: var(--ui-radius-m);
  background: var(--ui-fill);
  font: var(--ui-footnote);
  color: var(--ui-label);
}
.pulse-admin-shell .qs-body dl,
.pulse-admin-shell .qs-body ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.pulse-admin-shell .qs-shares {
  display: grid;
  gap: var(--ui-space-2);
}
.pulse-admin-shell .qs-share {
  display: grid;
  grid-template-columns: minmax(7rem, 9rem) minmax(0, 1fr);
  align-items: center;
  gap: var(--ui-space-3);
}
.pulse-admin-shell .qs-share dt,
.pulse-admin-shell .qs-facts dt {
  color: var(--ui-label-2);
}
.pulse-admin-shell .qs-share dd {
  display: flex;
  align-items: center;
  gap: var(--ui-space-3);
  margin: 0;
}
.pulse-admin-shell .qs-share__bar {
  flex: 1 1 auto;
  height: 8px;
  border-radius: 4px;
  background: var(--ui-separator);
  overflow: hidden;
}
.pulse-admin-shell .qs-share__bar > span {
  display: block;
  height: 100%;
  background: var(--ui-label-2);
}
.pulse-admin-shell .qs-share--correct .qs-share__bar > span {
  background: var(--ui-green);
}
.pulse-admin-shell .qs-share--wrong .qs-share__bar > span {
  background: var(--ui-red);
}
.pulse-admin-shell .qs-share__val {
  flex: 0 0 auto;
  min-width: 3.5em;
  text-align: right;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.pulse-admin-shell .qs-facts {
  display: grid;
  gap: var(--ui-space-1);
}
.pulse-admin-shell .qs-facts > div {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ui-space-1) var(--ui-space-3);
}
.pulse-admin-shell .qs-facts dd {
  margin: 0;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.pulse-admin-shell .qs-block__title {
  margin: 0 0 var(--ui-space-1);
  font: var(--ui-footnote);
  font-weight: 600;
  color: var(--ui-label-2);
}
.pulse-admin-shell .qs-opt {
  display: flex;
  justify-content: space-between;
  gap: var(--ui-space-3);
  padding: 2px 0;
}
.pulse-admin-shell .qs-opt__label {
  min-width: 0;
  overflow-wrap: anywhere;
}
.pulse-admin-shell .qs-opt--correct .qs-opt__label {
  font-weight: 600;
}
.pulse-admin-shell .qs-opt__mark {
  color: var(--ui-green-ink);
}
.pulse-admin-shell .qs-opt__count {
  flex: 0 0 auto;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
@media (max-width: 40rem) {
  .pulse-admin-shell .qs-share {
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .pulse-admin-shell .qs-summary::before,
  .pulse-admin-shell .mc-stats__summary::before {
    transition: none;
  }
}
.pulse-admin-shell .mc-row__review {
  margin: 2px 0 0;
  font: var(--ui-footnote);
  font-weight: 600;
  color: var(--ui-amber-ink);
}
.pulse-admin-shell .mc-row__review.muted {
  color: var(--ui-label-2);
}
.pulse-admin-shell .mc-inactive {
  color: var(--ui-red-ink);
}
.pulse-admin-shell .mc-cover {
  border-radius: var(--ui-radius-s);
  background: var(--ui-tint-soft);
  color: var(--ui-tint-ink);
}
.pulse-admin-shell .qp-row__actions,
.pulse-admin-shell .mc-row__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
  align-items: center;
}
.pulse-admin-shell .mc-nopreview {
  font: var(--ui-footnote);
  color: var(--ui-label-2);
}
.pulse-admin-shell .qp-row__actions .btn.ui-btn,
.pulse-admin-shell .mc-row__actions .btn.ui-btn,
.pulse-admin-shell .mc-cand .btn.ui-btn,
.pulse-admin-shell .mc-hit .btn.ui-btn {
  min-height: var(--ui-control-s);
  min-width: var(--ui-control-s);
}
.pulse-admin-shell .mc-review {
  grid-column: 1 / -1;
  padding-left: 0;
}
.pulse-admin-shell .mc-review p {
  font: var(--ui-footnote);
  color: var(--ui-label-2);
}
.pulse-admin-shell .mc-review__head {
  font-weight: 600;
  color: var(--ui-label);
}
.pulse-admin-shell .mc-cand,
.pulse-admin-shell .mc-hit {
  padding: var(--ui-space-2) var(--ui-space-3);
  border: 0;
  border-radius: var(--ui-radius-s);
  background: var(--ui-ground);
  font: var(--ui-subhead);
  color: var(--ui-label);
}
.pulse-admin-shell .mc-hits {
  gap: 0;
}
.pulse-admin-shell .mc-hits:not(:empty) {
  padding: var(--ui-space-2) var(--ui-space-3) var(--ui-space-3);
  gap: var(--ui-space-2);
}
.pulse-admin-shell .mc-check-result:not(:empty) {
  margin: 0 0 var(--ui-space-3);
  padding: var(--ui-space-3) var(--ui-space-4);
  border-radius: var(--ui-radius-m);
  background: var(--ui-surface);
  font: var(--ui-subhead);
  color: var(--ui-label);
}
.pulse-admin-shell #mc-review.is-active {
  background: var(--ui-tint);
  color: var(--ui-on-tint);
}
.pulse-admin-shell .mc-check-box {
  align-items: center;
}
.pulse-admin-shell .mc-test__result {
  font: var(--ui-footnote);
  font-weight: 600;
}
.pulse-admin-shell .mc-test__result.is-right {
  color: var(--ui-green-ink);
}
.pulse-admin-shell .mc-form-row.ui-group {
  display: block;
}
.pulse-admin-shell .qp-estimate[hidden],
.pulse-admin-shell [data-qp-for][hidden] {
  display: none;
}
.pulse-admin-shell .qp-wrong-err:has(> [hidden]),
.pulse-admin-shell .mc-fact-err:has(> [hidden]) {
  display: none;
}
.pulse-admin-shell fieldset.qp-wrong,
.pulse-admin-shell fieldset.mc-fact,
.pulse-admin-shell fieldset.mc-test {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  display: block;
}
.pulse-admin-shell fieldset.qp-wrong > legend,
.pulse-admin-shell fieldset.mc-fact > legend,
.pulse-admin-shell fieldset.mc-test > legend {
  padding: 0;
  margin: 0 0 var(--ui-space-2) var(--ui-space-4);
}
.pulse-admin-shell.sys-page fieldset.ui-cell {
  min-width: 0;
  margin: 0;
  border: 0;
  padding: var(--ui-space-2) var(--ui-space-4);
}
.pulse-admin-shell.sys-page fieldset.ui-cell + .ui-cell,
.pulse-admin-shell.sys-page .ui-cell + fieldset.ui-cell {
  border-top: 1px solid var(--ui-separator);
}
.pulse-admin-shell .qp-dialog form.qp-form,
.pulse-admin-shell .mc-dialog form.mc-form {
  display: grid;
  gap: var(--ui-space-3);
}
.pulse-admin-shell .qp-dialog .ui-group + .ui-group,
.pulse-admin-shell .mc-dialog .ui-group + .ui-group {
  margin-top: 0;
}
.pulse-admin-shell .qp-actions,
.pulse-admin-shell .mc-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--ui-space-2);
  margin: var(--ui-space-2) 0 0;
}
.pulse-admin-shell .qp-actions > .auto-status:not([hidden]),
.pulse-admin-shell .mc-actions > .auto-status:not([hidden]) {
  margin-right: auto;
  font: var(--ui-footnote);
  color: var(--ui-label-2);
}
.pulse-admin-shell .qp-dialog .ui-cell > .form-error,
.pulse-admin-shell .mc-dialog .ui-cell > .form-error {
  flex: 1 1 100%;
  margin: 0;
  font: var(--ui-footnote);
  color: var(--ui-red-ink);
}
.pulse-admin-shell .qp-dialog .ui-cell > .form-error[hidden],
.pulse-admin-shell .mc-dialog .ui-cell > .form-error[hidden] {
  display: none;
}
.pulse-admin-shell .mc-dialog .ui-cell > .mc-hint {
  flex: 1 1 100%;
  font: var(--ui-footnote);
  color: var(--ui-label-2);
}
.pulse-admin-shell .qp-dialog .ui-cell > .ui-seg {
  flex: 0 0 auto;
}
.pulse-admin-shell .qp-dialog fieldset.qp-kind[disabled] {
  opacity: 0.6;
}
@media (max-width: 40rem) {
  .pulse-admin-shell .qp-row.ui-cell,
  .pulse-admin-shell .mc-row.ui-cell {
    grid-template-columns: minmax(0, 1fr);
  }
  .pulse-admin-shell .mc-row.ui-cell {
    grid-template-columns: 48px minmax(0, 1fr);
  }
  .pulse-admin-shell .qp-row__actions,
  .pulse-admin-shell .mc-row__actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
  .pulse-admin-shell .qp-dialog form.qp-form,
  .pulse-admin-shell .mc-dialog form.mc-form {
    min-width: 0;
  }
}

/* ---------- Soundsets: Lautstärke (soundLevelsSection.js) ---------- */
.pulse-admin-shell .ss-levels {
  margin: 0 0 var(--ui-space-5);
}
.pulse-admin-shell .ss-levels__title.ui-group__title {
  margin: 0 0 var(--ui-space-2) var(--ui-space-4);
}
.pulse-admin-shell .ss-levels__group.ui-group {
  display: block;
  margin: 0;
  padding: 0;
}
.pulse-admin-shell .ss-level.ui-cell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(10rem, 18rem) auto;
  grid-template-areas: "text control probe" "note note note";
  align-items: center;
  gap: var(--ui-space-2) var(--ui-space-4);
  padding-block: var(--ui-space-3);
}
.pulse-admin-shell .ss-level__text {
  grid-area: text;
  min-width: 0;
}
.pulse-admin-shell .ss-level__control {
  grid-area: control;
  display: flex;
  align-items: center;
  gap: var(--ui-space-3);
  min-width: 0;
}
.pulse-admin-shell .ss-level__control input[type="range"] {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  min-height: var(--ui-control);
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  accent-color: var(--ui-tint);
  cursor: pointer;
}
.pulse-admin-shell .ss-level__control input[type="range"]:focus-visible {
  outline: 3px solid var(--focus, #0052cc);
  outline-offset: 2px;
  border-radius: var(--ui-radius-s);
}
.pulse-admin-shell .ss-level__out {
  flex: 0 0 auto;
  min-width: 4.5rem;
  font: var(--ui-body);
  font-variant-numeric: tabular-nums;
  color: var(--ui-label);
  text-align: right;
}
.pulse-admin-shell .ss-level__probe.btn.ui-btn,
.pulse-admin-shell .ss-levels__foot .btn.ui-btn {
  min-height: var(--ui-control);
  padding: 0 var(--ui-space-4);
  border: 0;
  border-radius: var(--ui-radius-s);
  background: var(--ui-tint-soft);
  color: var(--ui-tint-ink);
  font: 600 15px/1 var(--ui-font);
  box-shadow: none;
  cursor: pointer;
}
.pulse-admin-shell .ss-level__probe {
  grid-area: probe;
  min-width: 7rem;
}
.pulse-admin-shell .ss-level__probe.is-playing.btn.ui-btn {
  background: var(--ui-tint);
  color: var(--ui-on-tint);
}
.pulse-admin-shell .ss-level__probe.btn.ui-btn:focus-visible,
.pulse-admin-shell .ss-levels__foot .btn.ui-btn:focus-visible {
  outline: 3px solid var(--focus, #0052cc);
  outline-offset: 2px;
}
.pulse-admin-shell .ss-level__note {
  grid-area: note;
  margin: 0;
  font: var(--ui-footnote);
  color: var(--ui-amber-ink);
}
.pulse-admin-shell .ss-level__note:empty {
  display: none;
}
.pulse-admin-shell .ss-levels__foot.ui-cell {
  justify-content: space-between;
  flex-wrap: wrap;
}
.pulse-admin-shell .ss-levels__foot .auto-status:empty {
  display: none;
}
.pulse-admin-shell .ss-levels__lead.ui-group__foot {
  margin-top: var(--ui-space-2);
}
@media (max-width: 899px) {
  .pulse-admin-shell .ss-level.ui-cell {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "text" "control" "probe" "note";
    align-items: stretch;
  }
  .pulse-admin-shell .ss-level__probe.btn.ui-btn {
    width: 100%;
  }
  .pulse-admin-shell .ss-levels__foot .btn.ui-btn {
    width: 100%;
  }
}

/* ---------- Soundsets ---------- */
.pulse-admin-shell .ss-page {
  gap: var(--ui-space-5);
}
.pulse-admin-shell .ss-sets,
.pulse-admin-shell .ss-detail {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  min-width: 0;
}
.pulse-admin-shell .ss-sets__head {
  margin: 0 0 var(--ui-space-2);
}
.pulse-admin-shell .ss-sets__title.ui-group__title {
  margin: 0 0 0 var(--ui-space-4);
}
.pulse-admin-shell .ss-sets__head .btn.ui-btn {
  min-height: var(--ui-control-s);
  padding: 0 12px;
  border: 0;
  border-radius: var(--ui-radius-s);
  background: var(--ui-tint-soft);
  color: var(--ui-tint-ink);
  font: 600 14px/1 var(--ui-font);
  box-shadow: none;
}
.pulse-admin-shell .ss-sets__new.ui-group {
  display: block;
  margin: 0 0 var(--ui-space-3);
}
.pulse-admin-shell .ss-sets__new[hidden] {
  display: none;
}
.pulse-admin-shell .ss-sets__list.ui-group {
  list-style: none;
  margin: 0;
  padding: 0;
  display: block;
}
.pulse-admin-shell .ss-sets__list > li + li {
  border-top: 1px solid var(--ui-separator);
  margin-left: var(--ui-space-4);
}
.pulse-admin-shell .ss-sets__item {
  display: grid;
  gap: 2px;
  width: 100%;
  min-height: 56px;
  padding: var(--ui-space-3) var(--ui-space-4);
  margin: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--ui-label);
  font: var(--ui-headline);
  text-align: left;
  cursor: pointer;
}
.pulse-admin-shell .ss-sets__list > li + li > .ss-sets__item {
  margin-left: calc(-1 * var(--ui-space-4));
  width: calc(100% + var(--ui-space-4));
}
.pulse-admin-shell .ss-sets__item:hover {
  background: var(--ui-surface-2);
}
.pulse-admin-shell .ss-sets__item.is-active {
  background: var(--ui-tint-soft);
  color: var(--ui-tint-ink);
}
.pulse-admin-shell .ss-sets__item:focus-visible {
  outline: 3px solid var(--focus, #0052cc);
  outline-offset: -3px;
}
.pulse-admin-shell .ss-sets__meta {
  font: var(--ui-footnote);
  color: var(--ui-label-2);
}
.pulse-admin-shell .ss-star {
  color: var(--ui-amber-ink);
}
.pulse-admin-shell .ss-err {
  font: var(--ui-footnote);
  color: var(--ui-red-ink);
}
.pulse-admin-shell .ss-err:empty,
.pulse-admin-shell .ss-upload__status:empty {
  display: none;
}
.pulse-admin-shell .ss-upload__status.is-error {
  color: var(--ui-red-ink);
}
.pulse-admin-shell .ss-head.ui-group,
.pulse-admin-shell .ss-upload.ui-group {
  display: block;
  margin: 0;
  padding: 0;
  border-radius: var(--ui-radius-l);
  background: var(--ui-surface);
  font-size: inherit;
}
.pulse-admin-shell .ss-upload.ui-group {
  margin-top: var(--ui-space-3);
}
.pulse-admin-shell .ss-head .ss-head__name {
  min-width: 0;
}
.pulse-admin-shell .ss-head .ss-head__name > .ui-cell__label {
  flex: 0 0 auto;
}
.pulse-admin-shell .ss-head .ss-head__name > input {
  flex: 1 1 8rem;
  text-align: left;
}
.pulse-admin-shell .ss-head__badge.ui-chip {
  background: var(--ui-amber-soft);
  color: var(--ui-amber-ink);
}
.pulse-admin-shell .ss-head .ss-head__row {
  justify-content: space-between;
}
.pulse-admin-shell .ss-head__status {
  margin-left: auto;
}
.pulse-admin-shell .ss-head .auto-status:empty {
  display: none;
}
.pulse-admin-shell .ss-upload__file .ui-cell__label {
  min-width: 8rem;
}
.pulse-admin-shell .ss-detail > p.ui-group__foot {
  margin: var(--ui-space-2) var(--ui-space-4) 0;
}
.pulse-admin-shell .ss-editor-host {
  margin-top: var(--ui-space-3);
  padding: var(--ui-space-4);
  border-radius: var(--ui-radius-l);
  background: var(--ui-surface);
  box-shadow: var(--ui-shadow-card);
  min-width: 0;
}
.pulse-admin-shell .ss-editor-host:empty {
  display: none;
}
@media (max-width: 47.99rem) {
  .pulse-admin-shell .ss-page {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* ---------- Felder in Dialogen: sichtbar auch leer (Fläche, Rand weg), Beschriftung bricht vor dem Feld um ---------- */
.pulse-admin-shell.sys-page dialog .ui-cell > .ui-cell__label {
  flex: 1 1 9rem;
}
.pulse-admin-shell.sys-page dialog .ui-cell > input:not([type="checkbox"], [type="radio"], [type="range"], [type="color"], [type="file"], [type="hidden"], [type="button"], [type="submit"]),
.pulse-admin-shell.sys-page dialog .ui-cell > select {
  flex: 1 1 11rem;
  min-width: 0;
  min-height: 40px;
  padding: 0 var(--ui-space-3);
  border-radius: var(--ui-radius-s);
  background-color: var(--ui-ground);
  color: var(--ui-label);
  text-align: left;
  text-align-last: left;
}
.pulse-admin-shell.sys-page dialog .ui-cell > select {
  cursor: pointer;
}
.pulse-admin-shell.sys-page dialog .ui-cell > input[readonly] {
  color: var(--ui-label-2);
}
.pulse-admin-shell.sys-page dialog .ui-cell > input::placeholder {
  color: var(--ui-label-2);
}
.pulse-admin-shell.sys-page dialog .ui-cell--stack > .ui-cell__label {
  flex: 1 1 100%;
}
.pulse-admin-shell.sys-page dialog .ui-cell--stack > input:not([type="checkbox"], [type="radio"], [type="file"]) {
  flex: 1 1 100%;
}
.pulse-admin-shell.sys-page dialog .ui-cell > .btn.ui-btn {
  flex: none;
}

/* ---------- Statuszeilen „Sofort speichern“ in den Zeilen der Systemseiten (wie im Reiter Einstellungen der Sessionseite) ---------- */
.pulse-admin-shell.sys-page .ui-cell > .auto-status {
  flex: 1 1 100%;
  flex-wrap: wrap;
  margin: -2px 0 0;
  font: var(--ui-footnote);
  color: var(--ui-label-2);
}
.pulse-admin-shell.sys-page .ui-cell > .auto-status.auto-status--saved {
  color: var(--ui-green-ink);
}
.pulse-admin-shell.sys-page .ui-cell > .auto-status.auto-status--failed {
  color: var(--ui-red-ink);
}
.pulse-admin-shell.sys-page .auto-status .auto-status__retry,
.pulse-admin-shell.sys-page .auto-status .auto-status__action {
  min-height: 28px;
  padding: 0 10px;
  border: 0;
  border-radius: var(--ui-radius-s);
  background: var(--ui-tint-soft);
  color: var(--ui-tint-ink);
  font: 600 13px/1 var(--ui-font);
  box-shadow: none;
}
.pulse-admin-shell.sys-page .auto-status .auto-status__retry:focus-visible,
.pulse-admin-shell.sys-page .auto-status .auto-status__action:focus-visible {
  outline: 3px solid var(--focus, #0052cc);
  outline-offset: 2px;
}

