/* ===================== transactions.php ("txp-" prefix) =====================
   Moved out of transactions.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 EXCEPT two things pulled out into css/dyne.css
   instead (both confirmed byte-identical duplicates before moving, not left here):
   - .gmform-login-box (+ table/input sub-rules) — the same ~17-page-wide duplicate documented in
     css/trade.css's header.
   - .trp-teampill — reused here via trp_team_pill() (inc_trade_functions.php) despite the "trp-"
     prefix belonging to trade.php; genuinely the same class, not a coincidence.
   .gmform-msg-error stayed page-local (this page has no .gmform-msg-success at all) — same
   "diverged variants across pages" reasoning as css/trade.css/css/freeagents.css. */

#content .gmform-msg-error { color: #b00000 !important; text-shadow: none !important; font-size: 13px; background-color: #ffffff; padding: 6px 10px; border-radius: 4px; margin: 0 0 6px; width: fit-content; }

/* ===================== Redesign 2026-08-10 (docs/design-system.md, "txp-" Praefix) ===================== */
.txp-page { max-width: 1360px; margin: 0 auto; background: #ffffff; }
.txp-content { padding: 16px 20px 26px; box-sizing: border-box; position: relative; }

.txp-navlocal { display: flex; align-items: center; flex: 1 1 auto; box-sizing: border-box; }
/* Angeglichen an den site-weiten Saison-Dropdown-Stil von draftpicks.php/halloffame.php
   (.dpp-select/.hof-select, User-Wunsch 2026-08-15 "gleicher Stil wie der Rest"). */
.txp-season-select { font-family: inherit; font-size: 12px; font-weight: 600; padding: 6px 10px; border-radius: 14px; border: 1px solid rgba(255,255,255,.35); background: rgba(255,255,255,.08); color: #fff; }
.txp-season-select:hover { border-color: rgba(255,255,255,.6); }
.txp-season-select option { color: #1b2733; background: #fff; }

.txp-toolbar { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-bottom: 4px; }
.txp-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; background: transparent; color: #2c3e50; }
.txp-btn:hover { background: #eef1f4; }

.txp-filters { background: #f4f6f8; border: 1px solid #dde1e6; border-radius: 6px; padding: 14px 16px; margin-bottom: 14px; }
.txp-filter-row { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; }
/* .txp-field ist selbst ein Flex-Item von .txp-filter-row (Reihen-Richtung) UND zugleich
   ein Flex-CONTAINER in Spalten-Richtung fuer sein eigenes Label+Feld. Die Breiten-
   Vorgabe (flex-basis) gehoert deshalb auf .txp-field selbst, NICHT auf das innere
   Eingabefeld - dort wuerde "flex: 1 1 220px" (kopiert von .fap-search, das in
   freeagents.php in einem ZeilEN-Flex-Container sitzt) sich auf die Hauptachse von
   .txp-field (= Hoehe, da flex-direction:column!) statt auf die Breite beziehen und das
   Eingabefeld ca. 220px hoch statt breit machen (Bug 2026-08-10, User-Feedback "10 oder
   mehr Zeilen hoch"). */
.txp-field { display: flex; flex-direction: column; gap: 4px; flex: 0 1 auto; }
.txp-field.txp-field-grow { flex: 1 1 220px; }
.txp-field label { font-size: 10px; text-transform: uppercase; letter-spacing: .04em; color: #66707c; font-weight: 700; }
.txp-field-hint { text-transform: none; font-weight: 400; color: #a9b0b8; letter-spacing: normal; }
.txp-search { width: 100%; padding: 7px 10px; border-radius: 5px; border: 1px solid #ccd3da; font-size: 12.5px; color: #1b2733; font-family: inherit; box-sizing: border-box; }
.txp-filter-actions { display: flex; gap: 8px; }

/* Aufklappbares Checkbox-Dropdown (User-Wunsch 2026-08-10) fuer Transaktionstyp/Team -
   .txp-ms-toggle uebernimmt Form/Farben von .fap-adv-toggle (Chevron rotiert beim
   Oeffnen), .txp-ms-panel ist eine freischwebende Checkbox-Liste darunter statt eines
   ausklappenden Grid-Panels (fap-adv-panel ist fuer mehrere Filterfelder gleichzeitig
   gedacht, hier reicht eine einzelne Liste pro Feld). */
.txp-msdropdown { position: relative; min-width: 170px; }
.txp-ms-toggle { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 8px; font-family: inherit; font-size: 12px; padding: 7px 10px; border-radius: 5px; border: 1px solid #ccd3da; background: #fff; color: #1b2733; cursor: pointer; box-sizing: border-box; }
.txp-ms-toggle:hover { border-color: #a9b0b8; }
.txp-ms-chevron { flex-shrink: 0; transition: transform .15s ease; color: #66707c; }
.txp-msdropdown.open .txp-ms-chevron { transform: rotate(180deg); }
.txp-ms-panel { position: absolute; top: calc(100% + 4px); left: 0; z-index: 20; min-width: 100%; max-height: 260px; overflow-y: auto; background: #fff; border: 1px solid #ccd3da; border-radius: 6px; box-shadow: 0 4px 14px rgba(0,0,0,.12); padding: 6px; }
.txp-ms-option { display: flex; align-items: center; gap: 7px; padding: 5px 6px; border-radius: 4px; font-size: 12.5px; color: #1b2733; cursor: pointer; white-space: nowrap; }
.txp-ms-option:hover { background: #eef1f4; }
.txp-ms-option input { margin: 0; flex-shrink: 0; }

.txp-results { transition: opacity .15s ease; }
.txp-table-scroll { overflow-x: auto; }
table.txp-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.txp-table thead th { background: #2c3e50; color: #fff; font-weight: 700; text-align: center; padding: 8px 6px; white-space: nowrap; }
.txp-table thead th.left { text-align: left; padding-left: 12px; }
.txp-table tbody td { padding: 7px 6px; text-align: center; border-bottom: 1px solid #e2e4e7; vertical-align: middle; }
.txp-table tbody td.left { text-align: left; padding-left: 12px; }
.txp-table tbody tr:nth-child(odd) { background: #fff; }
.txp-table tbody tr:nth-child(even) { background: #f5f6f8; }
.txp-table tbody tr:hover { background: #eaf1f8; }
.txp-time { color: #8b95a1; font-size: 10.5px; margin-left: 4px; }
.txp-empty { text-align: center; padding: 30px; color: #66707c; font-size: 14px; }

.txp-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; }
.txp-pill.bird { background: #e7f2ff; color: #0c447c; border-color: #85b7eb; }
.txp-pill.rs { background: #e6f6e9; color: #1d7a30; border-color: #9bd6a6; }
.txp-pill.sperre { background: #fbe0df; color: #a41f19; border-color: #e79a95; }
.txp-pill.nomax { background: #fbe9dd; color: #96401a; border-color: #e8ab7c; }
.txp-pill.getradet { background: #eceef1; color: #3d4952; border-color: #b7c0c8; }

/* Mobiles Kartenlayout unterhalb 720px (docs/design-system.md §4, generische Variante -
   nur 6 schmale Spalten hier, deshalb ohne die feste row-break-Gruppierung von
   freeagents.php/playerlist.php: die Felder fliessen einfach in DOM-Reihenfolge). */
@media (max-width: 720px) {
	table.txp-table, table.txp-table tbody, table.txp-table tr { display: block; width: 100%; }
	.txp-table thead { display: none; }
	.txp-table tbody tr {
		display: flex !important; flex-wrap: wrap; align-items: center; gap: 4px 10px;
		background: #fff !important; border: 1px solid #e2e4e7; border-radius: 8px;
		padding: 10px 34px 10px 12px; margin-bottom: 8px; cursor: pointer; position: relative;
	}
	.txp-table tbody tr:hover { background: #fff !important; }
	.txp-table td { display: none; padding: 0 !important; border: none !important; text-align: left !important; background: transparent; font-size: 12px; }
	.txp-table td[data-label="Datum"] { display: block; flex: 1 1 100%; font-weight: 700; color: #2c3e50; }
	.txp-table td[data-label="Teams"] { display: block; flex: 1 1 100%; }
	.txp-table td[data-label="Status"] { display: inline-flex; }
	.txp-table tbody tr::after { content: "\25BE"; position: absolute; top: 13px; right: 10px; font-size: 13px; color: #a9b0b8; }
	.txp-table tbody tr.txp-expanded::after { content: "\25B4"; }
	.txp-table tbody tr.txp-expanded td { display: block; }
	.txp-table tbody tr.txp-expanded td[data-label="Status"] { display: inline-flex; }
	.txp-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; }
	.txp-table td[data-label="Status"]::before { content: none; }
	.txp-table td.txp-action-cell { margin-top: 4px; }
}
