/* Team app ▸ Nutzer verwalten ▸ PP-Nutzer (24.10.2026, team/teamPpNutzer.js). Only tokens: the --tv-* set of
   team-verwaltung.css (Web3 accent where the Web3 design is on, else the strongest text colour), light and dark
   follow the tokens. Filter pills reuse .tv-dc-pille, checkboxes .tv-box, chips .tv-chip. The list never scrolls in
   its own box: 10 rows per page with a pager like Bot prüfen; below 720 px every user is a card.
   Every rule is scoped to #teamVerwaltungView. */

#teamVerwaltungView [class*="tv-pp-"][hidden],
#teamVerwaltungView .tv-pp [hidden] { display: none !important; }

#teamVerwaltungView .tv-pp { gap: var(--space-4); }
#teamVerwaltungView .tv-pp-icon { display: inline-flex; flex-shrink: 0; }
#teamVerwaltungView .tv-pp-icon svg { width: 100%; height: 100%; }

/* ── Head of the card ── */
#teamVerwaltungView .tv-pp-kopf { display: flex; flex-direction: column; gap: var(--space-2); }
#teamVerwaltungView .tv-pp-titelzeile { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2) var(--space-3); }
#teamVerwaltungView .tv-pp-titel { margin: 0; font-size: var(--fs-15); font-weight: var(--fw-semibold); }
#teamVerwaltungView .tv-pp-zahl { color: var(--text-3); font-size: var(--fs-12); font-variant-numeric: tabular-nums; }
#teamVerwaltungView .tv-pp-schloss {
  display: inline-flex; align-items: center; gap: 6px; height: 24px; margin-left: auto; padding: 0 var(--space-3); box-sizing: border-box;
  border-radius: var(--radius-pill); background: var(--tv-fuellung); box-shadow: var(--w3-kante-feld, inset 0 0 0 1px var(--border-2));
  color: var(--text-2); font-size: var(--fs-12); font-weight: var(--fw-medium); white-space: nowrap; cursor: help;
}
#teamVerwaltungView .tv-pp-schloss .tv-pp-icon { width: 12px; height: 12px; }
#teamVerwaltungView .tv-pp-hinweis { max-width: 110ch; }

/* ── Filters ── */
#teamVerwaltungView .tv-pp-filter { display: flex; align-items: flex-end; flex-wrap: wrap; gap: var(--space-3) var(--space-4); }
#teamVerwaltungView .tv-pp-suche { flex: 1 1 260px; max-width: 380px; }
#teamVerwaltungView .tv-pp-feld { display: flex; flex-direction: column; gap: var(--space-1); min-width: 0; }
#teamVerwaltungView .tv-pp-feldlabel { color: var(--text-3); font-size: var(--fs-12); white-space: pre; border-radius: var(--radius-sm); width: fit-content; }
#teamVerwaltungView .tv-pp-feldlabel.value-tip { cursor: help; }
#teamVerwaltungView .tv-pp-pille { height: 30px; }

/* Dropdown (Designkatalog/Dropdown/standard): Tier as listbox, copying as menu. */
#teamVerwaltungView .tv-pp-dd { position: relative; min-width: 0; }
#teamVerwaltungView .tv-pp-dd-knopf {
  display: inline-flex; align-items: center; justify-content: space-between; gap: var(--space-2);
  min-width: 168px; height: 36px; box-sizing: border-box; padding: 0 var(--space-3) 0 var(--space-4);
  border: 0; border-radius: var(--radius-pill); background: var(--input-bg, var(--tv-fuellung));
  box-shadow: var(--w3-kante-feld, inset 0 0 0 1px var(--input-border, var(--border-2)));
  color: var(--text-1); font: inherit; font-size: var(--fs-13); text-align: left; cursor: pointer;
}
#teamVerwaltungView .tv-pp-dd-knopf:hover { background: var(--tv-fuellung-stark); }
#teamVerwaltungView .tv-pp-dd-knopf.tv-pp-dd-aktiv { box-shadow: inset 0 0 0 1px var(--tv-akzent-rand); }
#teamVerwaltungView .tv-pp-dd-wert { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#teamVerwaltungView .tv-pp-dd-pfeil { width: 14px; height: 14px; color: var(--text-3); transition: transform var(--t-fast, .12s); }
#teamVerwaltungView .tv-pp-dd.ist-offen .tv-pp-dd-pfeil { transform: rotate(180deg); }
#teamVerwaltungView .tv-pp-kopieren .tv-pp-dd-pfeil { color: currentColor; }
#teamVerwaltungView .tv-pp-dd-menue {
  position: absolute; z-index: var(--z-dropdown, 100); top: calc(100% + 6px); left: 0;
  display: flex; flex-direction: column; gap: 2px; min-width: 100%; width: max-content; max-width: min(320px, calc(100vw - 2 * var(--space-4)));
  box-sizing: border-box; padding: var(--space-1); border-radius: var(--radius-md);
  background: var(--w3-popover, var(--surface-2)); box-shadow: var(--w3-kante, inset 0 0 0 1px var(--border-2)), var(--w3-schatten, var(--shadow-md));
  animation: tv-pp-rein var(--t-fast, .12s) ease both;
}
@keyframes tv-pp-rein { from { opacity: 0; transform: translateY(-2px); } to { opacity: 1; transform: none; } }
#teamVerwaltungView .tv-pp-dd-kopf { padding: var(--space-2) var(--space-3) var(--space-1); color: var(--text-3); font-size: var(--fs-12); font-weight: var(--fw-medium); }
#teamVerwaltungView .tv-pp-dd-option {
  display: grid; grid-template-columns: minmax(0, 1fr) auto 16px; align-items: center; gap: var(--space-3);
  width: 100%; min-height: 34px; box-sizing: border-box; padding: 0 var(--space-3); border: 0; border-radius: var(--radius-sm);
  background: transparent; color: var(--text-1); font: inherit; font-size: var(--fs-13); text-align: left; cursor: pointer;
}
#teamVerwaltungView .tv-pp-kopier-menue .tv-pp-dd-option { grid-template-columns: minmax(0, 1fr) auto; }
#teamVerwaltungView .tv-pp-dd-option:hover,
#teamVerwaltungView .tv-pp-dd-option:focus { background: var(--tv-fuellung-stark); outline: none; }
#teamVerwaltungView .tv-pp-dd-option:focus-visible { box-shadow: var(--focus-ring); }
#teamVerwaltungView .tv-pp-dd-option[aria-selected="true"] { font-weight: var(--fw-medium); }
#teamVerwaltungView .tv-pp-dd-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#teamVerwaltungView .tv-pp-dd-zahl { color: var(--text-3); font-size: var(--fs-12); font-variant-numeric: tabular-nums; white-space: nowrap; }
#teamVerwaltungView .tv-pp-dd-haken { width: 16px; height: 16px; color: var(--check, var(--tv-akzent)); }
#teamVerwaltungView .tv-pp-dd-knopf:focus-visible,
#teamVerwaltungView .tv-pp-link:focus-visible,
#teamVerwaltungView .tv-pp-seite:focus-visible,
#teamVerwaltungView .tv-pp-stand:focus-visible,
#teamVerwaltungView .tv-pp-konflikt:focus-visible,
#teamVerwaltungView .tv-pp-schloss:focus-visible,
#teamVerwaltungView .tv-pp-feldlabel:focus-visible { outline: none; box-shadow: var(--focus-ring); }

/* ── Copy bar (above the list) ── */
#teamVerwaltungView .tv-pp-kopier { display: flex; flex-direction: column; gap: var(--space-2); }
#teamVerwaltungView .tv-pp-kopier-zeile { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2) var(--space-3); }
#teamVerwaltungView .tv-pp-kopieren { gap: var(--space-2); }
#teamVerwaltungView .tv-pp-kopieren:disabled,
#teamVerwaltungView .tv-pp-kopieren:disabled:hover { opacity: .4; filter: none; cursor: not-allowed; }
#teamVerwaltungView .tv-pp-kopieren-text { font-variant-numeric: tabular-nums; }
#teamVerwaltungView .tv-pp-gmail { margin: 0; color: var(--text-2); font-size: var(--fs-13); font-variant-numeric: tabular-nums; }
#teamVerwaltungView .tv-pp-link {
  padding: 0; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--tv-akzent);
  font: inherit; font-weight: var(--fw-medium); text-decoration: underline; text-underline-offset: 3px; cursor: pointer;
}
#teamVerwaltungView .tv-pp-seitenwahl { display: none; align-items: center; gap: var(--space-2); color: var(--text-2); font-size: var(--fs-13); cursor: pointer; }
#teamVerwaltungView .tv-pp-kopier-hinweis { margin: 0; }
#teamVerwaltungView .tv-pp-banner { margin: 0; }

/* ── List ── */
#teamVerwaltungView .tv-pp-koerper { position: relative; margin: 0 calc(-1 * var(--space-5)); transition: opacity var(--t-base, .2s); }
#teamVerwaltungView .tv-pp.tv-pp-laedt .tv-pp-koerper { opacity: .55; }
#teamVerwaltungView .tv-pp-tabelle { width: 100%; border-collapse: separate; border-spacing: 0; font-size: var(--fs-13); }
#teamVerwaltungView .tv-pp-tabelle th,
#teamVerwaltungView .tv-pp-tabelle td {
  padding: var(--space-2) var(--space-3); border-bottom: 1px solid var(--tv-rand); background: var(--tv-karte);
  text-align: left; vertical-align: middle; white-space: nowrap; font-weight: var(--fw-regular);
}
#teamVerwaltungView .tv-pp-tabelle thead th {
  color: var(--text-3); font-size: var(--fs-12); font-weight: var(--fw-medium); border-bottom: 0; box-shadow: inset 0 -1px 0 var(--tv-rand);
}
#teamVerwaltungView .tv-pp-tabelle thead .value-tip { cursor: help; border-radius: var(--radius-sm); }
#teamVerwaltungView .tv-pp-tabelle tr > :first-child { width: 20px; padding-left: var(--space-5); }
#teamVerwaltungView .tv-pp-tabelle tr > :last-child { padding-right: var(--space-5); }
#teamVerwaltungView .tv-pp-tabelle tbody tr:last-child > * { border-bottom: 0; }
#teamVerwaltungView .tv-pp-tabelle tbody tr:hover > * { background: var(--tv-zeile-hover); }
#teamVerwaltungView .tv-pp-tabelle tbody tr.tv-pp-gewaehlt > * { background: var(--tv-akzent-flaeche); }
#teamVerwaltungView .tv-pp-tabelle th.tv-pp-id { color: var(--text-1); }
#teamVerwaltungView .tv-pp-tabelle td.tv-pp-mail { white-space: normal; overflow-wrap: anywhere; min-width: 150px; }
@media (min-width: 1000px) {
  #teamVerwaltungView .tv-pp-tabelle thead { position: sticky; top: var(--tv-kopf-oben, 0px); z-index: 4; }
}
/* Mode „Scrollen“ (25.10.2026, team/teamListen.js): the body is the scroll box down to the viewport bottom; the head sticks
   at its top. */
#teamVerwaltungView .tv-pp-koerper.tl-scroll .tv-pp-tabelle thead { position: sticky; top: 0; z-index: 4; }
#teamVerwaltungView .tv-pp-wahl input.tv-box { display: inline-grid; }
#teamVerwaltungView .tv-pp-mono { font-family: var(--font-mono); font-variant-numeric: tabular-nums; letter-spacing: 0; }
#teamVerwaltungView .tv-pp-kurz { display: none; }
#teamVerwaltungView .tv-pp-chip { max-width: 180px; }
#teamVerwaltungView .tv-pp-fehlt { color: var(--text-3); opacity: .7; cursor: help; }
#teamVerwaltungView .tv-pp-stand {
  display: inline-flex; align-items: center; gap: 6px; padding: 1px 6px; margin: -1px -6px;
  border-radius: var(--radius-pill); color: var(--text-2); font-variant-numeric: tabular-nums; cursor: help;
}
#teamVerwaltungView .tv-pp-stand.tv-pp-alt { margin: -1px 0; background: var(--warning-soft); color: var(--text-1); }
#teamVerwaltungView .tv-pp-alt-punkt { width: 6px; height: 6px; border-radius: var(--radius-pill); background: var(--warning); flex-shrink: 0; }
#teamVerwaltungView .tv-pp-konflikt {
  display: inline-flex; align-items: center; gap: 4px; height: 22px; padding: 0 var(--space-2); box-sizing: border-box;
  border-radius: var(--radius-pill); background: color-mix(in srgb, var(--danger) 14%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--danger) 45%, transparent);
  color: var(--text-1); font-size: var(--fs-12); font-weight: var(--fw-medium); white-space: nowrap; cursor: help;
}
#teamVerwaltungView .tv-pp-konflikt .tv-pp-icon { width: 12px; height: 12px; color: var(--danger); }

/* Pager like Bot prüfen (rst.css .rst-bpp-seiten) */
#teamVerwaltungView .tv-pp-seiten { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-2) var(--space-3); color: var(--text-3); font-size: var(--fs-12); }
#teamVerwaltungView .tv-pp-seitentext { font-variant-numeric: tabular-nums; }
#teamVerwaltungView .tv-pp-seitenknoepfe { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-1); }
#teamVerwaltungView .tv-pp-seite {
  display: inline-flex; align-items: center; justify-content: center; min-width: 28px; height: 28px; box-sizing: border-box; padding: 0 var(--space-2);
  border: 0; border-radius: var(--w3-radius-feld, var(--radius-sm)); background: transparent;
  color: var(--text-2); font: inherit; font-size: var(--fs-13); font-variant-numeric: tabular-nums; cursor: pointer;
  transition: background var(--t-fast, .12s);
}
#teamVerwaltungView .tv-pp-seite.pfeil { font-size: var(--fs-16); line-height: 1; }
#teamVerwaltungView .tv-pp-seite:hover:not(:disabled):not(.on) { background: var(--tv-fuellung); color: var(--text-1); }
#teamVerwaltungView .tv-pp-seite.on { background: var(--tv-fuellung-stark); box-shadow: var(--tv-kante); color: var(--text-1); font-weight: var(--fw-medium); }
#teamVerwaltungView .tv-pp-seite:disabled { opacity: .4; cursor: not-allowed; }
#teamVerwaltungView .tv-pp-luecke { padding: 0 var(--space-1); color: var(--text-3); }

/* States: skeleton on the first load (fixed height), notices, empty filter result */
#teamVerwaltungView .tv-pp-skelett-huelle { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-2) var(--space-5); }
#teamVerwaltungView .tv-pp-skelett {
  height: 36px; border-radius: var(--radius-md);
  background: linear-gradient(90deg, var(--tv-fuellung) 0%, var(--tv-fuellung-stark) 50%, var(--tv-fuellung) 100%);
  background-size: 200% 100%; animation: tv-pp-schimmer 1.4s ease-in-out infinite;
}
@keyframes tv-pp-schimmer { from { background-position: 100% 0; } to { background-position: -100% 0; } }
#teamVerwaltungView .tv-pp-zustand-icon { width: 28px; height: 28px; color: var(--text-3); }
#teamVerwaltungView .tv-pp-zustand-daten .tv-pp-zustand-icon,
#teamVerwaltungView .tv-pp-zustand-netz .tv-pp-zustand-icon { color: var(--danger); }
#teamVerwaltungView .tv-pp-zustand-drossel .tv-pp-zustand-icon { color: var(--warning); }
#teamVerwaltungView .tv-pp-zustand-titel { margin: 0; color: var(--text-1); font-size: var(--fs-15); font-weight: var(--fw-semibold); }
#teamVerwaltungView .tv-pp-zustand p,
#teamVerwaltungView .tv-pp-leer p { max-width: 60ch; }

/* Toast (Designkatalog/Toast) */
#teamVerwaltungView .tv-pp-toast {
  position: fixed; left: 50%; bottom: var(--space-6); z-index: var(--z-toast, 60); transform: translateX(-50%);
  max-width: calc(100vw - 2 * var(--space-4)); box-sizing: border-box; padding: var(--space-3) var(--space-5);
  border-radius: var(--radius-pill); background: var(--w3-popover, var(--surface-3)); box-shadow: var(--w3-schatten, var(--shadow-md)), inset 0 0 0 1px var(--border-2);
  color: var(--text-1); font-size: var(--fs-13); font-variant-numeric: tabular-nums; text-align: center;
  animation: tv-pp-rein var(--t-fast, .12s) ease both;
}
#teamVerwaltungView .tv-pp-toast[data-art="fehler"] { box-shadow: var(--w3-schatten, var(--shadow-md)), inset 0 0 0 1px color-mix(in srgb, var(--danger) 55%, transparent); }

/* ── Between: narrower stand columns ── */
#teamVerwaltungView .tv-pp-zweit,
#teamVerwaltungView .tv-pp-kopf-schmal { display: none; }
@media (max-width: 1180px) {
  #teamVerwaltungView .tv-pp-tabelle th,
  #teamVerwaltungView .tv-pp-tabelle td { padding-left: var(--space-2); padding-right: var(--space-2); }
  #teamVerwaltungView .tv-pp-mono { font-size: var(--fs-12); }
  /* One state column: PP on top, Discord below (the Discord column goes). */
  #teamVerwaltungView .tv-pp-tabelle .tv-pp-dc { display: none; }
  #teamVerwaltungView .tv-pp-kopf-breit { display: none; }
  #teamVerwaltungView .tv-pp-kopf-schmal { display: inline; }
  #teamVerwaltungView .tv-pp-zweit { display: flex; align-items: center; gap: 6px; margin-top: 2px; font-size: var(--fs-12); }
  #teamVerwaltungView .tv-pp-zweit-label { color: var(--text-3); }
  #teamVerwaltungView .tv-pp-tabelle td.tv-pp-pp > .tv-pp-stand { font-size: var(--fs-12); }
}

/* ── Phones: one card per user (checkbox left, ID on top, tier, mail, Discord, then the two states) ── */
@media (max-width: 760px) {
  #teamVerwaltungView .tv-pp-koerper { margin: 0 calc(-1 * var(--space-4)); }
  #teamVerwaltungView .tv-pp-skelett-huelle { padding: var(--space-2) var(--space-4); }
  #teamVerwaltungView .tv-pp-suche { flex-basis: 100%; max-width: none; }
  #teamVerwaltungView .tv-pp-feld { flex: 1 1 auto; }
  #teamVerwaltungView .tv-pp-dd-knopf { width: 100%; }
  #teamVerwaltungView .tv-pp-schloss { margin-left: 0; }
}
/* Cards up to 960 px (responsive pass 25.10.2026): between 721 and ~960 px the table needed ~870 px and the whole page
   panned sideways (scrollWidth 828 at 768). The card list already exists and comes after the 1180 rule, so it wins. */
@media (max-width: 960px) {
  /* The card list is ~20× taller than the table; the visually hidden full values (position: absolute) escaped the scroll
     box and stretched the page by thousands of px. The box is their containing block, so it clips them. */
  #teamVerwaltungView .tv-pp-koerper { position: relative; }
  #teamVerwaltungView .tv-pp-seitenwahl { display: inline-flex; }
  #teamVerwaltungView .tv-pp-tabelle .tv-pp-zweit { display: none; }
  #teamVerwaltungView .tv-pp-tabelle,
  #teamVerwaltungView .tv-pp-tabelle tbody { display: block; }
  #teamVerwaltungView .tv-pp-tabelle thead { display: none; }
  #teamVerwaltungView .tv-pp-tabelle tr.tv-pp-zeile {
    display: grid; grid-template-columns: 20px minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas: "wahl id id" ". tier tier" ". mail mail" ". discord discord" ". pp dc";
    gap: 6px var(--space-3); padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--tv-rand); background: var(--tv-karte);
  }
  #teamVerwaltungView .tv-pp-tabelle tbody tr.tv-pp-zeile:last-child { border-bottom: 0; }
  #teamVerwaltungView .tv-pp-tabelle tr.tv-pp-zeile.tv-pp-gewaehlt { background: var(--tv-akzent-flaeche); }
  #teamVerwaltungView .tv-pp-tabelle tr.tv-pp-zeile > * {
    width: auto; min-width: 0; padding: 0 !important; border: 0 !important; background: transparent !important; white-space: normal;
  }
  #teamVerwaltungView .tv-pp-tabelle .tv-pp-wahl { grid-area: wahl; align-self: start; padding-top: 1px !important; }
  #teamVerwaltungView .tv-pp-tabelle .tv-pp-id { grid-area: id; font-weight: var(--fw-medium); }
  #teamVerwaltungView .tv-pp-tabelle .tv-pp-tier { grid-area: tier; }
  #teamVerwaltungView .tv-pp-tabelle .tv-pp-mail { grid-area: mail; min-width: 0; }
  #teamVerwaltungView .tv-pp-tabelle .tv-pp-discord { grid-area: discord; }
  #teamVerwaltungView .tv-pp-tabelle .tv-pp-pp { grid-area: pp; }
  #teamVerwaltungView .tv-pp-tabelle .tv-pp-dc { grid-area: dc; }
  #teamVerwaltungView .tv-pp-tabelle :is(.tv-pp-mail, .tv-pp-discord, .tv-pp-pp, .tv-pp-dc) { display: flex; align-items: baseline; gap: var(--space-2); }
  #teamVerwaltungView .tv-pp-tabelle :is(.tv-pp-mail, .tv-pp-discord, .tv-pp-pp, .tv-pp-dc)::before {
    content: attr(data-label); flex: 0 0 auto; color: var(--text-3); font-size: var(--fs-12);
  }
  #teamVerwaltungView .tv-pp-tabelle :is(.tv-pp-mail, .tv-pp-discord)::before { width: 56px; }
  #teamVerwaltungView .tv-pp-tabelle .tv-pp-dc::before { content: 'Discord'; }
  #teamVerwaltungView .tv-pp-tabelle .tv-pp-pp::before { content: 'PP'; }
  #teamVerwaltungView .tv-pp-tabelle .tv-pp-stand { font-size: var(--fs-12); }
  /* Middle ellipsis only here; the full value stays for screen readers and in the title. */
  #teamVerwaltungView .tv-pp-wert { display: inline-block; min-width: 0; max-width: 100%; overflow: hidden; white-space: nowrap; }
  #teamVerwaltungView .tv-pp-voll:not(.tv-pp-gleich) {
    position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
  }
  #teamVerwaltungView .tv-pp-kurz { display: inline; }
  #teamVerwaltungView .tv-pp-seiten { justify-content: center; }
  #teamVerwaltungView .tv-pp-seitentext { flex: 1 0 100%; text-align: center; }
}

@media (max-width: 560px) {
  /* The Discord rule turns .tv-dc-pillen into a 2-column grid; the missing-data pills stay one compact row. */
  #teamVerwaltungView .tv-pp-pillen { display: inline-flex; width: fit-content; border-radius: var(--radius-pill); }
  #teamVerwaltungView .tv-pp-pillen .tv-dc-pille { border-radius: var(--radius-pill); }
  #teamVerwaltungView .tv-pp-feld { flex: 0 1 auto; }
  #teamVerwaltungView .tv-pp-feld:has(.tv-pp-dd) { flex: 1 1 100%; }
  #teamVerwaltungView .tv-pp-feldlabel[aria-hidden="true"] { display: none; }
}
/* Five sub-tabs at phone width: one line, tighter padding (no wrapped „PP-Nutzer“). */
@media (max-width: 440px) {
  #teamVerwaltungView .tv-unter { padding: 0 var(--space-2); white-space: nowrap; }
}

/* ── Access by invitation (owner only, 24.10.2026) ── */
#teamVerwaltungView .tv-pp-zugang { display: flex; flex-direction: column; gap: var(--space-3); padding-top: var(--space-4); border-top: 1px solid var(--tv-rand); }
#teamVerwaltungView .tv-pp-zg-kopf { display: flex; flex-direction: column; gap: var(--space-1); }
#teamVerwaltungView .tv-pp-zg-kopf .tv-legende { max-width: 110ch; margin: 0; }
#teamVerwaltungView .tv-pp-zg-titel { margin: 0; font-size: var(--fs-14); font-weight: var(--fw-semibold); }
#teamVerwaltungView .tv-pp-zg-unter { margin: var(--space-2) 0 0; color: var(--text-2); font-size: var(--fs-12); font-weight: var(--fw-medium); }
#teamVerwaltungView .tv-pp-zg-zeile { display: flex; align-items: flex-end; flex-wrap: wrap; gap: var(--space-2) var(--space-3); }
#teamVerwaltungView .tv-pp-zg-neu { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-3); border-radius: var(--radius-md); background: var(--tv-akzent-flaeche); }
#teamVerwaltungView .tv-pp-zg-neu p { margin: 0; }
#teamVerwaltungView .tv-pp-zg-link { flex: 1 1 320px; min-width: 0; font-family: var(--font-mono); font-size: var(--fs-12); }
#teamVerwaltungView .tv-pp-zg-tabelle { width: 100%; border-collapse: collapse; font-size: var(--fs-13); }
#teamVerwaltungView .tv-pp-zg-tabelle th,
#teamVerwaltungView .tv-pp-zg-tabelle td { padding: var(--space-2) var(--space-3) var(--space-2) 0; border-bottom: 1px solid var(--tv-rand); text-align: left; vertical-align: middle; font-variant-numeric: tabular-nums; }
#teamVerwaltungView .tv-pp-zg-tabelle th { color: var(--text-3); font-size: var(--fs-12); font-weight: var(--fw-medium); }
#teamVerwaltungView .tv-pp-zg-tabelle tbody tr:last-child > * { border-bottom: 0; }
#teamVerwaltungView .tv-pp-zg-aktionen { text-align: right; }
#teamVerwaltungView .tv-pp-zg-leer { margin: 0; }
#teamVerwaltungView .tv-pp-zg-zustand { display: inline-flex; align-items: center; height: 22px; padding: 0 var(--space-2); border-radius: var(--radius-pill); background: var(--tv-fuellung); color: var(--text-2); font-size: var(--fs-12); white-space: nowrap; }
#teamVerwaltungView :is(.tv-pp-zg-offen, .tv-pp-zg-aktiv) { background: var(--tv-akzent-flaeche); color: var(--text-1); }
#teamVerwaltungView .tv-pp-zg-rolle_weg { background: var(--warning-soft); color: var(--text-1); }
@media (max-width: 720px) {
  #teamVerwaltungView .tv-pp-zg-tabelle thead { display: none; }
  #teamVerwaltungView .tv-pp-zg-tabelle tr { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-1) var(--space-3); padding: var(--space-2) 0; border-bottom: 1px solid var(--tv-rand); }
  #teamVerwaltungView .tv-pp-zg-tabelle td { padding: 0; border: 0; }
  #teamVerwaltungView .tv-pp-zg-tabelle td[data-label]:not([data-label=""])::before { content: attr(data-label); display: block; color: var(--text-3); font-size: var(--fs-11); }
  #teamVerwaltungView .tv-pp-zg-aktionen { grid-column: 1 / -1; text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
  #teamVerwaltungView .tv-pp-dd-menue,
  #teamVerwaltungView .tv-pp-toast,
  #teamVerwaltungView .tv-pp-skelett { animation: none; }
  #teamVerwaltungView .tv-pp-koerper,
  #teamVerwaltungView .tv-pp-seite,
  #teamVerwaltungView .tv-pp-dd-pfeil { transition: none; }
}
