/* Admin playoff creation reuses the site's table and form styles. */
.playoff-modal { width: min(900px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 0; }
.playoff-preview { border-top: 1px solid #ccdbee; margin-top: 24px; padding-top: 20px; }
.playoff-preview h3 { margin: 0 0 8px; }
.playoff-preview h4 { margin: 22px 0 10px; }
.playoff-notice { padding: 12px 16px; border: 1px solid #b8cde7; border-radius: 8px; background: #eef4fc; }
.playoff-pending { max-height: 230px; overflow-y: auto; padding-left: 20px; }
.playoff-pending li { padding: 7px 0; }
.playoff-pending small, .playoff-pairings small { display: block; color: #62748d; margin-bottom: 4px; }
.playoff-pairings { list-style-position: inside; padding: 0; }
.playoff-pairings li { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 20px; padding: 14px 16px; border: 1px solid #d5e0ef; border-radius: 8px; margin-bottom: 10px; background: #f5f8fd; }
.playoff-pairings strong { overflow-wrap: anywhere; }
.playoff-table { min-width: 0 !important; }
.match-stage { display: block; color: #536e92; font-size: 12px; margin-top: 3px; }
.match-filters { display: flex; gap: 12px; flex-wrap: wrap; align-items: end; }
.match-filters select { min-height: 44px; }
@media (max-width: 600px) { .playoff-pairings li { gap: 10px; padding: 12px; } .playoff-table th, .playoff-table td { padding: 10px 7px; } .playoff-modal .directory-form { padding: 18px; } }

.directory-toolbar.match-directory-toolbar { flex-wrap: wrap; }
.match-filters > label { display: block; color: #62748d; font-size: 13px; }
.match-filters select { display: block; margin-top: 8px; height: 47px; min-width: 150px; padding: 0 34px 0 12px; border: 1px solid #cad8ec; border-radius: 7px; background: #fff; color: #263b57; font: inherit; }
.playoff-modal .player-edit-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.playoff-modal .settings-actions { position: static; padding: 0; background: transparent; }
.playoff-modal form .settings-actions { margin: 16px 0 0; border: 0; }
@media (max-width: 600px) { .playoff-modal .player-edit-fields { grid-template-columns: 1fr; } }

.playoff-schedule-fields { margin-top: 20px; }
.playoff-schedule-fields input { box-sizing: border-box; width: 100%; min-width: 0; height: 47px; border: 1px solid #cad8ec; border-radius: 7px; padding: 0 12px; color: #263b57; background: #fff; font: inherit; }
.playoff-awaiting { max-width: 900px; margin: 0 auto; }
.playoff-awaiting-teams { display: flex; gap: 20px; align-items: center; justify-content: space-between; padding: 20px 0; border-block: 1px solid #dae4f0; margin-bottom: 20px; }
.playoff-awaiting-teams strong { flex: 1; overflow-wrap: anywhere; }
.playoff-awaiting-actions { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.playoff-paper-qr img { max-width: 110px; }
@media print { .playoff-awaiting-actions button { display: none; } }

.playoff-class-preview + .playoff-class-preview { margin-top:28px; padding-top:22px; border-top:2px solid #c3d4e9; }
.playoff-class-preview > h3 { color:#365a87; font-size:21px; }
