/* ============================================================
   <pb-talent-card> — one freelancer tile
   ------------------------------------------------------------
   A calm white card for the Home talent feed. The whole body
   is clickable (opens the profile); the bookmark star and the
   "Hinzufügen" button are interactive islands that stop the
   click from propagating. On hover the card lifts gently and
   its border firms up. All colour / radius / spacing / shadow
   values come from tokens.css — nothing is hard-coded.
   ============================================================ */

/* Host als echtes Grid-Item (block statt contents): Scroll-Reveal
   animiert die direkten Feed-Kinder — auf display:contents wirken
   Transforms/Opacity nicht. Layout bleibt identisch (article füllt). */
pb-talent-card { display: block; min-width: 0; }

.pb-fcard {
  display: flex;
  flex-direction: column;
  padding: var(--sp-2);          /* small even inset — insets the header from the card edge */
  background: var(--surface);
  border: none;
  border-radius: var(--r-lg);
  font-family: var(--font-display); /* Diatype for tile text */
  cursor: pointer;
  transition:
    transform var(--dur) var(--ease),
    background var(--dur) var(--ease),
    box-shadow var(--dur) var(--ease);
}
.pb-fcard:hover {
  transform: translateY(-0.125rem);
  background: var(--surface-bright); /* the true-white reveal */
  border-color: var(--border-strong);
}

/* ---- Header banner — a per-profession colour wash, inset from the edges,
        rounded to sit inside the card's own radius (r-md within r-lg). ---- */
.pb-fcard-header {
  position: relative;
  height: 3.25rem;
  border-radius: var(--r-md);
  background:
    var(--cat-grad,
      radial-gradient(130% 130% at 80% 12%, #e4dcec 0%, transparent 55%),
      linear-gradient(120deg, #a6c0b4, #aeabde));
  overflow: hidden;
}
[data-theme="dark"] .pb-fcard-header { filter: saturate(0.94) brightness(0.82); }
/* 01.09.: hat das Profil ein Banner, zeigt die Kachel es (kleine Stufe,
   800×160, derselbe 5:1-Ausschnitt wie im Talent-Fenster). background-image
   kommt inline aus pb-talent-card.js; der Verlauf bleibt der Rückfall. Das
   Foto bekommt keine Dunkel-Dämpfung — Fotos sind keine Pastellflächen. */
.pb-fcard-header.has-img {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
[data-theme="dark"] .pb-fcard-header.has-img { filter: none; }

/* ---- Card body — text + actions, indented a touch from the header inset ---- */
.pb-fcard-body {
  flex: 1;                      /* fill the stretched card height so the button can dock at the bottom */
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  padding: 0 var(--sp-2) var(--sp-2);   /* bottom inset matches the left inset */
}

/* Bookmark / save toggle — overlaid on the header, top-right, on a
   translucent chip so the icon reads on any gradient. */
.pb-star {
  position: absolute;
  top: var(--sp-2);
  right: var(--sp-2);
  z-index: 1;
  flex: 0 0 auto;
  width: 1.875rem;
  height: 1.875rem;
  display: grid;
  place-items: center;
  border-radius: var(--r-sm);
  color: #1a1a16;
  background: rgba(255, 255, 255, 0.55);
  /* hidden until the tile is hovered (saved state stays visible below) */
  opacity: 0;
  /* backdrop-filter steht bewusst NICHT hier, sondern unten hinter
     einer hover-Abfrage — siehe Begründung dort. */
  transition: background var(--dur) var(--ease), color var(--dur) var(--ease),
              opacity var(--dur) var(--ease);
}
/* Der Weichzeichner hängt an denselben Selektoren wie die Sichtbarkeit.
   ------------------------------------------------------------------
   `backdrop-filter` zwingt den Browser zu einer eigenen Compositing-
   Ebene samt Hintergrund-Schnappschuss — unabhängig davon, ob das
   Element sichtbar ist. Stand die Eigenschaft auf `.pb-star`, hatte
   der Feed 68 solcher Ebenen, von denen im Normalfall keine einzige
   zu sehen war.

   Teuer ist das besonders hier, weil hinter den Sternen die
   Verlaufsköpfe der Karten liegen: Safari rastert diese Kombination
   beim Scrollen deutlich aggressiver neu als Chrome.

   An die Sichtbarkeits-Selektoren gebunden existiert die Ebene nur
   noch dort, wo der Stern wirklich zu sehen ist — beim Überfahren
   also genau eine, sonst so viele wie gemerkte Karten im Bild sind.
   Optisch identisch, auf beiden Plattformen. */
.pb-fcard:hover .pb-star,
.pb-star:focus-visible,
.pb-star.on {
  opacity: 1;
  backdrop-filter: blur(2px);
}
.pb-star:hover { background: rgba(255, 255, 255, 0.78); }
/* Touch kennt kein Überfahren: dort stand der Stern unsichtbar, aber
   antippbar auf dem Kartenkopf (Mobil-Prüfung 04.10.2026). Sichtbar ohne
   Weichzeichner — der kostet je Karte eine Ebene (s. oben). */
@media (hover: none) {
  .pb-star { opacity: 1; }
}
/* 03.09.: Set-7d-Lesezeichen füllt den Kasten voller als die Material-
   Glyphe — 17px (Mathias: „bisschen kleiner"). */
.pb-star svg { width: 17px; height: 17px; }
.pb-star.on { color: #1a1a16; background: rgba(255, 255, 255, 0.85); }

/* ---- Avatar — pulled up to overlap the header, ringed in the card
        surface like a profile photo over a cover image. ---- */
.pb-fcard-body .pb-avatar {
  position: relative;   /* lift above the positioned header so it sits ON it */
  z-index: 1;
  margin-top: -1.6rem;
  box-shadow: 0 0 0 0.1875rem var(--surface);
}

/* ---- Per-profession mesh gradients — all drawn from one spectrum
        (teal · sage · lilac-white · periwinkle · pink · coral · orange),
        recombined per role: a soft light spot top-right, a coloured accent
        bottom-right, over a diagonal base. Same "face", different mix. ---- */
.pb-catgrad[data-cat="3D Künstler"] {
  --cat-grad: radial-gradient(140% 150% at 22% 18%, #7fd49a 0%, #e6ddec 52%, #aeabde 100%);
}
.pb-catgrad[data-cat="Account Manager"] {
  --cat-grad: radial-gradient(140% 150% at 22% 18%, #aeabde 0%, #e6ddec 52%, #f2cd78 100%);
}
.pb-catgrad[data-cat="AI Visual Artist"] {
  --cat-grad: radial-gradient(140% 150% at 22% 18%, #f2cd78 0%, #aeabde 52%, #7fd49a 100%);
}
.pb-catgrad[data-cat="Art Direktor"] {
  --cat-grad: radial-gradient(140% 150% at 22% 18%, #f2cd78 0%, #f0763c 52%, #ef8f66 100%);
}
.pb-catgrad[data-cat="Brand Designer"] {
  --cat-grad: radial-gradient(140% 150% at 22% 18%, #a6c0b4 0%, #e6ddec 52%, #f2cd78 100%);
}
.pb-catgrad[data-cat="Texter"] {
  --cat-grad: radial-gradient(140% 150% at 22% 18%, #a6c0b4 0%, #7fd49a 52%, #e6ddec 100%);
}
.pb-catgrad[data-cat="Creative Concept"] {
  --cat-grad: radial-gradient(140% 150% at 22% 18%, #a6c0b4 0%, #7fd49a 52%, #f2cd78 100%);
}
.pb-catgrad[data-cat="Creative Director (Art)"] {
  --cat-grad: radial-gradient(140% 150% at 22% 18%, #f2cd78 0%, #f0763c 52%, #aeabde 100%);
}
.pb-catgrad[data-cat="Creative Director (Copy)"] {
  --cat-grad: radial-gradient(140% 150% at 22% 18%, #a6c0b4 0%, #7fd49a 52%, #f2cd78 100%);
}
.pb-catgrad[data-cat="Cutter"] {
  --cat-grad: radial-gradient(140% 150% at 22% 18%, #ef8f66 0%, #dd83c2 52%, #aeabde 100%);
}
.pb-catgrad[data-cat="Programmierer"] {
  --cat-grad: radial-gradient(140% 150% at 22% 18%, #7fd49a 0%, #aeabde 52%, #e6ddec 100%);
}
.pb-catgrad[data-cat="Grafik Designer"] {
  --cat-grad: radial-gradient(140% 150% at 22% 18%, #7fd49a 0%, #aeabde 52%, #e6ddec 100%);
}
.pb-catgrad[data-cat="Illustrator"] {
  --cat-grad: radial-gradient(140% 150% at 22% 18%, #a6c0b4 0%, #e6ddec 52%, #f2cd78 100%);
}
.pb-catgrad[data-cat="Motion Designer"] {
  --cat-grad: radial-gradient(140% 150% at 22% 18%, #7fd49a 0%, #e6ddec 52%, #aeabde 100%);
}
.pb-catgrad[data-cat="PR-Berater"] {
  --cat-grad: radial-gradient(140% 150% at 22% 18%, #aeabde 0%, #e6ddec 52%, #f2cd78 100%);
}
.pb-catgrad[data-cat="Projekt Manager"] {
  --cat-grad: radial-gradient(140% 150% at 22% 18%, #7fd49a 0%, #f2cd78 52%, #e6ddec 100%);
}
.pb-catgrad[data-cat="Prompt Engineer"] {
  --cat-grad: radial-gradient(140% 150% at 22% 18%, #f2cd78 0%, #aeabde 52%, #7fd49a 100%);
}
.pb-catgrad[data-cat="Strategen"] {
  --cat-grad: radial-gradient(140% 150% at 22% 18%, #a6c0b4 0%, #7fd49a 52%, #f2cd78 100%);
}
.pb-catgrad[data-cat="UI/UX Designer"] {
  --cat-grad: radial-gradient(140% 150% at 22% 18%, #7fd49a 0%, #f2cd78 52%, #e6ddec 100%);
}

/* ---- Identity ---- */
.pb-fname {
  font-family: var(--font-display); /* Diatype — not a page headline */
  /* 1.25em statt 1.125em. Zwischen --fs-body (1em) und --fs-h3 (1.5em)
     liegt kein Token, deshalb weiter ein Literalwert — --fs-h3 wäre auf
     der Kachel immer noch zu gross. */
  font-size: 1.25em;
  font-weight: 600;
  color: var(--text);
  line-height: 1.15;
}
/* Der Name ist der Tastatur-Weg ins Profil (WCAG 2.1.1, Audit 03.10.2026,
   Punkt 0): ein schlichter Knopf ohne eigene Optik — Klick und Enter
   laufen per Bubbling in den Karten-Klick. Sichtbar nur der Fokusring. */
.pb-fname-btn {
  display: block;
  max-width: 100%;
  padding: 0;
  margin: 0;
  border: 0;
  background: none;
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  text-align: start;
  cursor: pointer;
  border-radius: var(--r-xs);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: inherit;
}
.pb-ftitle {
  font-size: var(--fs-md);
  color: var(--text-soft);
  margin-top: 0.125rem;
}

/* ---- Specialty + meta pills (one wrapping row) ---- */
.pb-fpills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}
/* tile view: the two groups vanish as boxes so every pill flows into the
   one wrapping row (the list view re-promotes them to columns). */
.pb-fpills-roles,
.pb-fpills-meta { display: contents; }
/* Shared chip base — muted fill */
.pb-frole,
.pb-fmeta-pill {
  display: inline-flex;
  align-items: center;
  /* Von --fs-xs (11.4px) über --fs-sm auf --fs-md — die Schwerpunkte
     machen den halben Karteninhalt aus und waren deutlich zu klein.
     Die breiteren Kacheln (4 statt 5 Spalten) tragen das. */
  padding: 0.3125rem 0.625rem;
  background: var(--surface-2);
  color: var(--text-soft);
  font-size: var(--fs-md);
  font-weight: 500;
  line-height: 1.2;
  white-space: nowrap;
  transition: background var(--dur) var(--ease); /* hebt beim Kachel-Hover mit (Dunkel) */
}
/* Gesperrter Tagessatz: derselbe Warn-Look wie im Talent-Fenster
   (13.08.) — getönte Fläche + Schrift/Schloss in --warn, ohne Kontur */
.pb-fmeta-pill--locked {
  background: var(--warn-tint);
  color: var(--warn);
}
/* Specialty — round pills */
.pb-frole {
  border-radius: var(--r-pill);
  /* Schwerpunkte sind Freitext (teils ganze Sätze aus v3) — Chips auf
     Kartenbreite deckeln und mit … abschneiden statt überzulaufen.
     inline-block statt inline-flex: text-overflow ellipsiert nur in
     Block-Textcontainern. */
  display: inline-block;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
/* Location / day rate — same fill, squarer corners */
.pb-fmeta-pill {
  border-radius: var(--r-xs);
}

/* ---- Footer actions: "⋯" work-samples button + add-to-selection ---- */
.pb-fcard-actions {
  margin-top: auto;            /* pin the row to the bottom */
  display: flex;
  align-items: center;
  gap: var(--sp-2);
}
/* Match the "Hinzufügen" button height to the "⋯" icon button (.pb-btn-icon). */
.pb-fcard-actions .pb-btn-add { height: 2rem; }
.pb-fcard .pb-btn-add.added { color: var(--text); border-color: var(--selected-border); }

/* ---- Der lila Stern-Kreis (Agent-Treffer) ----
   Steht nur auf Karten mit match-Begründungen: Kreis in Knopfhöhe
   neben „Hinzufügen", der Tooltip (data-tip-wrap) erzählt beim
   Zeigen, warum das Profil passt. */
.pb-why-btn {
  flex: none;
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border: none;
  border-radius: 50%;
  background: var(--ai-tint);
  color: var(--ai);
  cursor: help;
  transition: background var(--dur) var(--ease);
}
.pb-why-btn:hover { background: color-mix(in srgb, var(--ai) 22%, transparent); }
.pb-why-btn:focus-visible { outline: var(--ring-w) solid var(--ring); outline-offset: var(--ring-offset); }
.pb-why-btn svg { width: 13px; height: 13px; display: block; }

/* ---- Passungs-Ring (Slice 11d, KI-Agent mit Jev-Kern) ----
   Kalibrierte Passung aus der Jev-Entscheidung, nur auf Agent-Karten
   im Supabase-Modus; Xano liefert keine Prozentzahl. Seit 01.10.2026
   (Design „Neu“ #15/#82/#83) ein Ring in --ai rechts unter dem Banner,
   gegenüber dem Avatar — kollidiert nicht mit dem Merken-Lesezeichen.
   Der Bogen läuft einmal je Karte an (.is-anim), die Zahl zählt mit. */
.pb-match {
  position: relative;
  z-index: 1;
  flex: none;
  display: grid;
  place-items: center;
  width: 2.875rem;
  height: 2.875rem;
  margin: 0.5rem 0 0 auto;
  border-radius: 50%;
  background: var(--surface);
  box-shadow: 0 0 0 0.1875rem var(--surface);
  cursor: help;
}
.pb-match svg {
  position: absolute;
  inset: 0.1875rem;
  width: calc(100% - 0.375rem);
  height: calc(100% - 0.375rem);
  transform: rotate(-90deg);
}
.pb-match-trk { fill: none; stroke: var(--ai-tint); stroke-width: 5; }
.pb-match-arc { fill: none; stroke: var(--ai); stroke-width: 5; stroke-linecap: round; }
.pb-match.is-anim .pb-match-arc { animation: pb-match-ring 1.1s var(--ease) both; }
@keyframes pb-match-ring { from { stroke-dashoffset: 125.66; } }
.pb-match b {
  position: relative;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 0.875rem;
  line-height: 1;
  letter-spacing: -0.01em;
  color: var(--text);
}
.pb-match b small { margin-left: 0.0625rem; font-size: 0.625rem; font-weight: 700; color: var(--text-soft); }
@media (prefers-reduced-motion: reduce) {
  .pb-match.is-anim .pb-match-arc { animation: none; }
}

/* Den früheren Karten-Knopf „Freischalten · 2 Credits“ (.pb-btn-unlock)
   gibt es nicht mehr — geöffnet wird beim Aufmachen des Talent-Fensters
   (app.js, pb:open); seine Regeln sind seit 03.10.2026 gelöscht. */
@media (max-width: 479.98px) {
  /* Auf 375px steht „Hinzufügen“ über die volle Breite. */
  .pb-fcard-actions { flex-wrap: wrap; }
  .pb-fcard-actions .pb-btn-add { flex: 1 1 100%; justify-content: center; }
}
/* Handy, zwei Kacheln je Zeile (Mathias 04.10.2026: „Tags kleiner und die
   Schriften“): Name, Beruf und Pills eine Stufe kleiner — nur in der
   Kachel-Ansicht, die Listenansicht behält ihre Größen. */
@media (max-width: 767.98px) {
  .grid:not(.as-list) .pb-fname, .pba-results .pb-fname { font-size: 1.0625em; }
  .grid:not(.as-list) .pb-ftitle, .pba-results .pb-ftitle { font-size: var(--fs-sm); }
  .grid:not(.as-list) :is(.pb-frole, .pb-fmeta-pill),
  .pba-results :is(.pb-frole, .pb-fmeta-pill) { font-size: var(--fs-xs); padding: 0.25rem 0.5rem; }
  .grid:not(.as-list) .pb-fcard-actions .pb-btn-add,
  .pba-results .pb-fcard-actions .pb-btn-add { font-size: var(--fs-sm); }
}

/* ============================================================
   LIST / TABLE VIEW — the whole `.grid.as-list` is ONE tile (see
   layout.css); each card becomes a row inside it:
     avatar · name/title · skills · Ort/Tagessatz · add
   Ort/Tagessatz is its own column; row hover reveals white like
   the tile-view hover.
   ============================================================ */
.as-list pb-talent-card { display: block; }

.as-list .pb-fcard {
  flex-direction: row;
  align-items: center;
  gap: 1.25rem;
  padding: 0.75rem 1.25rem;
  background: transparent;                  /* the container is the tile */
  border-radius: 0;
  box-shadow: none;
  border-top: 0.0625rem solid var(--border);
}
.as-list pb-talent-card:first-child .pb-fcard { border-top: none; }
.as-list .pb-fcard:hover {
  transform: none;
  background: var(--surface-bright);        /* white reveal — like the tile hover */
  box-shadow: none;
}

/* header gradient + bookmark are tile-only chrome */
.as-list .pb-fcard-header { display: none; }

/* body becomes the row track */
.as-list .pb-fcard-body {
  flex: 1;
  flex-direction: row;
  align-items: center;
  gap: 1.25rem;
  padding: 0;
  min-width: 0;
}

/* avatar flush (no header to overlap → no negative pull-up/ring) */
.as-list .pb-fcard-body .pb-avatar {
  flex: 0 0 auto;
  margin-top: 0;
  box-shadow: none;
}

/* name + title, fixed column so rows line up like a table */
.as-list .pb-fident {
  flex: 0 0 13rem;
  min-width: 0;
}
.as-list .pb-fname,
.as-list .pb-ftitle {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* pills split into two real columns: skills (flex) + Ort/Tagessatz (own) */
.as-list .pb-fpills { display: contents; }
.as-list .pb-fpills-roles {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  flex: 1;
  min-width: 0;
  max-height: 2rem;               /* keep tags to one line, clip extras */
  overflow: hidden;
}
.as-list .pb-fpills-meta {
  display: flex;
  gap: 0.375rem;
  flex: 0 0 auto;
  justify-content: flex-end;
}

/* tags a touch larger in the table */
.as-list .pb-frole,
.as-list .pb-fmeta-pill {
  font-size: var(--fs-sm);
  padding: 0.3125rem 0.6875rem;
}

/* add button pinned to the far right */
.as-list .pb-fcard-actions {
  margin-top: 0;
  flex: 0 0 auto;
}

@media (max-width: 767.98px) {
  .as-list .pb-fident { flex-basis: 9rem; }
  .as-list .pb-fpills-roles { display: none; }   /* keep name · Ort/Rate · add */

  /* Kachelmaße von osmo.supply: Karte 0.5em Innenabstand bei 0.5em
     Radius, das Bild darin 0.25em. Der Innenabstand stimmte über
     --sp-2 schon; nur die Radien waren eine Stufe zu weich. */
  .pb-fcard { border-radius: 0.5em; }
  .pb-fcard-header { border-radius: 0.25em; }
}

/* ---- Dark theme ---- */
/* Karten-Hover: --surface-bright (n-600) ist für kleine Bedienelemente
   richtig, aber als ganze Kartenfläche ein Sprung über drei Rampen-
   stufen (L .022 → .066). Light springt nur eine Zwischenstufe
   (fcfbf8 → ffffff). Neu: surface → surface-1 (n-750) + Kante — der
   Lift kommt aus Kante + Schatten, nicht aus greller Fläche. */
[data-theme="dark"] .pb-fcard:hover,
[data-theme="dark"] .as-list .pb-fcard:hover {
  background: var(--surface-1);
}
/* Beim Kachel-Hover heben Chips und Knöpfe eine Rampenstufe mit an:
   ihr Grund (surface-2/-warm, n-700) läge sonst fast auf der Hover-
   Fläche surface-1 (n-750) — sie verschwämmen (13.08., Mathias). */
[data-theme="dark"] .pb-fcard:hover .pb-frole,
[data-theme="dark"] .pb-fcard:hover .pb-fmeta-pill:not(.pb-fmeta-pill--locked),
[data-theme="dark"] .pb-fcard:hover .pb-btn-secondary {
  background: var(--surface-3);
}
/* … und ihr EIGENER Hover bleibt eine Stufe darüber erkennbar */
[data-theme="dark"] .pb-fcard:hover .pb-btn-secondary:hover {
  background: var(--surface-bright);
}
/* Overlay-Chip auf der Bildfläche: das harte Weiss blendet auf den
   gedimmten Verläufen. Auf Dunkel: dunkles Glas, helles Glyph. Der
   backdrop-blur bleibt wie gehabt an den Sichtbarkeits-Selektoren. */
[data-theme="dark"] .pb-star {
  color: #f2f2f2;
  background: rgba(16, 16, 14, 0.55);
}
[data-theme="dark"] .pb-star:hover { background: rgba(16, 16, 14, 0.78); }
[data-theme="dark"] .pb-star.on {
  color: #f2f2f2;
  background: rgba(16, 16, 14, 0.85);
}

/* ============================================================
   TEAM (PROJ-13) — bis zu 4 kleine Avatare der Teammitglieder,
   ohne Label direkt rechts neben dem Haupt-Avatar (31.08.).
   Klick öffnet das Mitglied (pb:open).
   ============================================================ */
.pb-favrow {
  display: flex;
  align-items: flex-start;
}
.pb-fteam-avs {
  display: inline-flex;
  /* ragt wie der Haupt-Avatar in den BANNER hinein (31.08., Wunsch
     Mathias): halb über der Kante des Header-Verlaufs, rechts neben
     dem Avatar — z-index hebt die Kreise wie den Avatar über den
     positionierten Header. */
  margin-left: 0.375rem;
  margin-top: -0.25rem;
  position: relative;
  z-index: 1;
}
.pb-fteam-av {
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 50%;
  border: 0.125rem solid var(--surface);
  padding: 0;
  margin-left: -0.375rem;
  /* deckende Fläche wie der Haupt-Avatar — --fill-hover war fast
     transparent, auf dem Banner schien der Verlauf durch (31.08.) */
  background: var(--avatar); font-weight: 900; /* Initialen fett (03.09.) */
  cursor: pointer;
  overflow: hidden;
  display: inline-grid;
  place-items: center;
  transition: transform 0.15s ease;
}
.pb-fteam-av:first-child { margin-left: 0; }
.pb-fteam-av:hover,
.pb-fteam-av:focus-visible { transform: translateY(-0.125rem); z-index: 1; position: relative; }
.pb-fteam-av img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  display: block;
}
.pb-fteam-init {
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--text-soft, var(--text-muted, #6b6b6b));
}

/* Listen-/Tabellenansicht ist ein striktes Spaltenlayout — die
   Team-Avatare gehören der Kachelansicht (und dem Talent-Fenster). */
.as-list .pb-fteam-avs { display: none; }
.as-list .pb-favrow { flex: 0 0 auto; }
