/* ===================== playerlist.php ("plp-" prefix) =====================
   Moved out of playerlist.php's inline <style> block 2026-08-11 (continuing the page-by-page
   cleanup, see css/dyne.css's own header for the project). All static, no PHP-variable
   interpolation, so this is a clean 1:1 move. Originally "Design von freeagents.php uebernommen"
   (own comment) — .plp-pill's color values match .fap-pill's exactly, but they're genuinely
   separate classes by design (see css/freeagents.css's header for why that's not the same kind
   of duplication as rh-pill was), left alone. */

.plp-page { max-width: 1360px; margin: 0 auto; background: #ffffff; }
.plp-content { padding: 16px 20px 26px; box-sizing: border-box; }

.plp-filters { background: #f4f6f8; border: 1px solid #dde1e6; border-radius: 6px; padding: 14px 16px; margin-bottom: 14px; display: flex; flex-direction: column; gap: 12px; }
.plp-filter-row1 { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.plp-search { flex: 1 1 200px; min-width: 160px; padding: 7px 10px; border-radius: 5px; border: 1px solid #ccd3da; font-size: 12.5px; color: #1b2733; font-family: inherit; }
.plp-adv-toggle { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; background: transparent; border: 1px solid #ccd3da; color: #1b2733; font-size: 12px; font-weight: 600; padding: 6px 12px; border-radius: 16px; cursor: pointer; font-family: inherit; }
.plp-adv-toggle svg { transition: transform .15s ease; }
.plp-adv-toggle.open svg { transform: rotate(180deg); }

.plp-adv-panel { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px 16px; padding-top: 10px; border-top: 1px dashed #ccd3da; margin-top: 2px; }
@media (max-width: 980px) { .plp-adv-panel { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .plp-adv-panel { grid-template-columns: 1fr; } }
.plp-field label { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .04em; color: #66707c; font-weight: 700; margin-bottom: 4px; }
.plp-select { font-family: inherit; font-size: 12px; padding: 6px 8px; border-radius: 5px; border: 1px solid #ccd3da; background: #fff; color: #1b2733; width: 100%; box-sizing: border-box; }
.plp-range { display: flex; align-items: center; gap: 6px; }
.plp-range input { width: 100%; font-family: inherit; font-size: 12px; padding: 6px 8px; border-radius: 5px; border: 1px solid #ccd3da; color: #1b2733; font-variant-numeric: tabular-nums; box-sizing: border-box; }
.plp-range span { color: #66707c; font-size: 11px; }
.plp-adv-actions { grid-column: 1 / -1; display: flex; gap: 8px; padding-top: 2px; }
.plp-btn { font-family: inherit; font-size: 12px; font-weight: 600; padding: 7px 14px; border-radius: 5px; cursor: pointer; border: 1px solid #2c3e50; text-decoration: none; display: inline-block; }
.plp-btn.ghost { background: transparent; color: #2c3e50; }
.plp-btn.ghost:hover { background: #eef1f4; }

.plp-table-scroll { overflow-x: auto; }
table.plp-table { width: 100%; border-collapse: collapse; font-size: 12px; min-width: 1080px; }
.plp-table thead th { background: #2c3e50; color: #fff; font-weight: 700; text-align: center; padding: 8px 6px; white-space: nowrap; }
.plp-table thead th.left { text-align: left; padding-left: 12px; }
.plp-table thead th.sorted { background: #1a2733; }
.plp-table thead th a { color: inherit; text-decoration: none; display: inline-flex; align-items: center; gap: 3px; }
.plp-table tbody td { padding: 6px; text-align: center; border-bottom: 1px solid #e2e4e7; vertical-align: middle; }
.plp-table tbody td.left { text-align: left; padding-left: 12px; }
.plp-table tbody tr:nth-child(odd) { background: #fff; }
.plp-table tbody tr:nth-child(even) { background: #f5f6f8; }
.plp-table tbody tr:hover { background: #eaf1f8; }
.plp-table td.sticky-col, .plp-table th.sticky-col { position: sticky; left: 0; z-index: 1; background: inherit; box-shadow: 2px 0 4px rgba(0,0,0,0.06); }
.plp-table thead th.sticky-col { background: #2c3e50; z-index: 2; }
.plp-table thead th.sticky-col.sorted { background: #1a2733; }
.plp-player-cell { display: flex; align-items: center; gap: 8px; }
.plp-playerpic { width: 32px; height: 32px; border-radius: 4px; object-fit: cover; flex-shrink: 0; }
.plp-name-link { color: #2c3e50; font-weight: 600; text-decoration: underline; }
.plp-muted { color: #a9b0b8; }
.plp-empty { text-align: center; padding: 30px; color: #66707c; font-size: 14px; }

.plp-pill { display: inline-block; font-size: 10px; font-weight: 600; padding: 2px 8px; border-radius: 9px; white-space: nowrap; border: 1px solid #c8ccd1; background: #f1eee8; color: #5f5e5a; }
.plp-pill.bird { background: #e7f2ff; color: #0c447c; border-color: #85b7eb; }
.plp-pill.bird-lost { background: #eef1f5; color: #4a5a6b; border-color: #b7c3d1; }
.plp-pill.bird-vorsaison { background: #e1f6f3; color: #0d6d61; border-color: #79cec1; }
.plp-pill.to { background: #f0e8fb; color: #5a2a92; border-color: #c6a3ec; }
.plp-pill.rs { background: #e6f6e9; color: #1d7a30; border-color: #9bd6a6; }
.plp-pill.rfa { background: #fde7ee; color: #8a1a3c; border-color: #e0a0bb; }
.plp-pill.getradet { background: #eceef1; color: #3d4952; border-color: #b7c0c8; }
.plp-pill.nomax { background: #fbe9dd; color: #96401a; border-color: #e8ab7c; }
.plp-pill.sperre { background: #fbe0df; color: #a41f19; border-color: #e79a95; }

.plp-full-text { display: inline; }
.plp-mobile-text { display: none; }
@media (max-width: 479px) {
	.plp-full-text { display: none; }
	.plp-mobile-text { display: inline; }
}

/* ===================== Mobile Kartenlayout (Design von freeagents.php uebernommen) =====================
   Horizontales Scrollen einer 15-spaltigen Tabelle ist auf schmalen Screens unbrauchbar -
   unterhalb 720px wird die Tabelle stattdessen zu gestapelten, einklappbaren Karten
   umgebaut: kollabiert zeigt jede Karte nur Bild+Name+OVR in einer Zeile, ein Klick auf die
   Karte (ausserhalb von Links) blendet die restlichen Felder ein (.plp-expanded-Klasse,
   siehe JS ganz unten). Sortier-Buttons in der (jetzt versteckten) Kopfzeile werden durch
   das Sortieren-Dropdown in der Filterleiste ersetzt (siehe .plp-sort-select weiter oben). */
.plp-sort-select { display: none; width: auto; flex: 0 0 auto; }
@media (max-width: 720px) {
	.plp-sort-select { display: inline-flex; }
	.plp-table-scroll { overflow-x: visible; }
	table.plp-table, table.plp-table tbody, table.plp-table tr { display: block; width: 100%; min-width: 0; }
	.plp-table thead { display: none; }
	.plp-table tbody tr {
		display: flex !important; flex-wrap: wrap; align-items: center; gap: 5px 7px;
		background: #fff !important; border: 1px solid #e2e4e7; border-radius: 8px;
		padding: 10px 46px 10px 12px; margin-bottom: 8px; cursor: pointer; position: relative;
	}
	.plp-table tbody tr:hover { background: #fff !important; }
	.plp-table td {
		display: none; align-items: center; padding: 0 !important; border: none !important;
		text-align: left !important; position: static !important; box-shadow: none; background: transparent;
		font-size: 12.5px; vertical-align: middle;
	}
	/* Kollabiert IMMER sichtbar: Spieler-Zelle + OVR, sonst nichts (identisches Prinzip wie
	   freeagents.php). OVR + Auf-/Zuklapp-Pfeil sind absolut oben rechts positioniert. */
	.plp-table td.sticky-col { display: inline-flex; min-width: 0; flex: 1 1 100%; }
	.plp-table td.sticky-col .plp-playerpic { width: 40px; height: 40px; flex: 0 0 auto; }
	.plp-table td.sticky-col .plp-player-cell { gap: 10px; min-width: 0; flex: 1 1 0%; }
	.plp-table td.sticky-col .plp-name-link, .plp-table td.sticky-col span { font-size: 12.5px !important; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; flex: 1 1 0%; display: inline-block; }
	.plp-table td[data-label="OVR"] {
		display: inline-flex !important; align-items: center; justify-content: center;
		position: absolute !important; top: 10px; right: 26px; height: 40px;
		font-size: 12.5px !important; font-weight: 700; color: #2c3e50;
	}
	.plp-table td[data-label="OVR"]::before { content: none !important; }
	.plp-table tbody tr::after { content: "\25BE"; position: absolute; top: 13px; right: 10px; font-size: 13px; color: #a9b0b8; }
	.plp-table tbody tr.plp-expanded::after { content: "\25B4"; }
	.plp-table tbody tr.plp-expanded td { display: inline-flex; }
	.plp-table td[data-label]::before { content: attr(data-label) ": "; font-size: 9.5px; text-transform: uppercase; letter-spacing: .03em; color: #a9b0b8; font-weight: 700; margin-right: 3px; }

	/* Feste Zeilenaufteilung der ausgeklappten Felder: Zeile 1 Pos/Gehalt/Dauer/Team/J.i.T.,
	   Zeile 2 Alter/Größe/Gewicht, Zeile 3 (nur wenn vorhanden) Birds/Optionen/Trade. "order"
	   bestimmt die visuelle Reihenfolge, die unsichtbaren .plp-row-break-Zellen erzwingen per
	   flex-basis:100% einen Zeilenumbruch an fester Stelle. */
	.plp-table td[data-label="Pos"] { order: 1; }
	.plp-table td[data-label="Gehalt"] { order: 2; }
	.plp-table td[data-label="Dauer"] { order: 3; }
	.plp-table td[data-label="Team"] { order: 4; }
	.plp-table td[data-label="J.i.T."] { order: 5; }
	.plp-table td.plp-row-break[data-break="a"] { order: 6; }
	.plp-table td[data-label="Alter"] { order: 7; }
	.plp-table td[data-label="Größe"] { order: 8; }
	.plp-table td[data-label="Gewicht"] { order: 9; }
	.plp-table td.plp-row-break[data-break="b"] { order: 10; }
	.plp-table td[data-label="Pos"], .plp-table td[data-label="Gehalt"], .plp-table td[data-label="Dauer"],
	.plp-table td[data-label="Team"], .plp-table td[data-label="J.i.T."],
	.plp-table td[data-label="Alter"], .plp-table td[data-label="Größe"], .plp-table td[data-label="Gewicht"] {
		font-size: 11px !important;
	}
	.plp-table td[data-label="Pos"]::before, .plp-table td[data-label="Gehalt"]::before, .plp-table td[data-label="Dauer"]::before,
	.plp-table td[data-label="Team"]::before, .plp-table td[data-label="J.i.T."]::before,
	.plp-table td[data-label="Alter"]::before, .plp-table td[data-label="Größe"]::before, .plp-table td[data-label="Gewicht"]::before {
		font-size: 8.5px; margin-right: 2px;
	}
	.plp-table td[data-label="Birds"] { order: 11; }
	.plp-table td[data-label="Optionen"] { order: 12; }
	.plp-table td[data-label="Trade"] { order: 13; }

	.plp-table td.plp-row-break { display: none; }
	.plp-table tbody tr.plp-expanded td.plp-row-break {
		display: block !important; flex-basis: 100%; width: 0; height: 0;
		padding: 0 !important; margin: 0; border: none !important;
	}

	.plp-table td[data-label="Birds"]::before,
	.plp-table td[data-label="Optionen"]::before,
	.plp-table td[data-label="Trade"]::before { content: none !important; }
	.plp-table tbody tr.plp-expanded td[data-label="Birds"]:has(.plp-muted),
	.plp-table tbody tr.plp-expanded td[data-label="Optionen"]:has(.plp-muted),
	.plp-table tbody tr.plp-expanded td[data-label="Trade"]:has(.plp-muted) { display: none !important; }

	/* ID und Value entfallen auf Mobile komplett (Nebendaten, wie "Value" bei freeagents.php). */
	.plp-table td[data-label="ID"], .plp-table td[data-label="Value"] { display: none !important; }
}
