:root {
    --primary: #1434a4;
    --secondary: #f7b733;
    --bg: #f4f6fb;
    --text: #1d1f27;
    --muted: #6a7080;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background: var(--bg);
    color: var(--text);
}

.hero {
    position: relative;
    text-align: center;
    padding: 120px 20px 60px;
    background: linear-gradient(135deg, #0f2027, #203a43, #2c5364);
    color: #fff;
    overflow: hidden;
}

.logo {
    position: absolute;
    top: 90px;
    width: 150px;
    height: 150px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
}

.logo span {
    font-size: 0.9rem;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.8);
}

.logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.org-logo {
    left: 20px;
}

.tournament-logo {
    right: 20px;
}

.admin-login-wrapper {
    position: absolute;
    right: 20px;
    top: 260px;
    display: flex;
    justify-content: center;
    width: 150px;
}

.admin-login {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 6px 12px;
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 999px;
    color: #fff;
    text-decoration: none;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    background: rgba(15, 20, 40, 0.2);
    transition: background 0.2s ease, transform 0.2s ease;
}

.admin-login:hover {
    background: rgba(255, 255, 255, 0.25);
    transform: translateY(-1px);
}

.hero-text h1 {
    font-size: 2.8rem;
    margin: 0 0 10px;
}

.hero-text .date,
.hero-text .venue {
    margin: 6px 0;
    font-size: 1.15rem;
}

main {
    max-width: 960px;
    margin: 0 auto;
    padding: 40px 16px 80px;
}

.flash {
    max-width: 960px;
    margin: 20px auto;
    padding: 16px 20px;
    border-radius: 12px;
    font-weight: 600;
}

.flash.success {
    background: rgba(34, 197, 94, 0.15);
    color: #0f7b48;
    border: 1px solid rgba(34, 197, 94, 0.5);
}

.flash.error {
    background: rgba(239, 68, 68, 0.15);
    color: #7b1414;
    border: 1px solid rgba(239, 68, 68, 0.5);
}

.status_tag.pending {
    color: #92400e;
    font-weight: 600;
}

.status_tag.accepted {
    color: #15803d;
    font-weight: 600;
}

.status_tag.rejected {
    color: #b91c1c;
    font-weight: 700;
}

.rules,
.cta {
    background: #fff;
    margin: 30px 0;
    padding: 30px;
    border-radius: 16px;
    box-shadow: 0 15px 40px rgba(15, 20, 40, 0.08);
}

.selection-card {
    display: none;
    background: #fff;
    padding: 30px;
    border-radius: 16px;
    box-shadow: 0 15px 40px rgba(15, 20, 40, 0.08);
    margin-bottom: 30px;
}
.selection-card.show {
    display: block;
}

.card-heading h3 {
    margin: 0 0 6px;
}

.card-heading p {
    margin-top: 0;
    color: var(--muted);
}

.selection-form {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.selection-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.inline-label span {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.helper-link {
    font-size: 0.85rem;
    color: #1434a4;
    text-decoration: underline;
}

.rules h2 {
    margin-top: 0;
    color: var(--primary);
}

.rules-content {
    color: var(--muted);
}

.summary-card .table-wrapper {
    overflow-x: auto;
}

.summary-filters {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
    margin-top: 16px;
}

.summary-filters select,
.summary-filters input {
    min-width: auto;
}

.team-summary-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 16px;
}

.team-summary-table th,
.team-summary-table td {
    padding: 12px 10px;
    text-align: left;
    border-bottom: 1px solid #edf1f7;
}

.team-summary-table th {
    text-transform: uppercase;
    font-size: 0.85rem;
    color: var(--muted);
}

.team-summary-table td {
    font-size: 0.95rem;
}

.player-photo-cell {
    display: flex;
    align-items: center;
    gap: 12px;
}

.player-name-text {
    flex: 1;
}

.photo-upload-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.photo-upload-label {
    font-weight: 600;
    font-size: 0.95rem;
}

.photo-upload-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.photo-upload-filename {
    font-size: 0.9rem;
}

.photo-upload-preview {
    width: 120px;
    height: 120px;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    overflow: hidden;
}

.photo-upload-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.photo-upload-input {
    display: none;
}

.player-photo-trigger {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    border: 1px solid #e2e8f0;
    padding: 0;
    background: #fff;
    cursor: pointer;
    overflow: hidden;
    flex-shrink: 0;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.player-photo-trigger img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.player-photo-trigger:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 16px rgba(15, 23, 42, 0.1);
}

.player-photo-trigger:disabled {
    cursor: not-allowed;
    opacity: 0.6;
}

.photo-modal img {
    width: 220px;
    height: 220px;
    border-radius: 16px;
    object-fit: cover;
    border: 1px solid #e2e8f0;
    margin: 0 auto 16px;
    display: block;
}

.photo-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
}

.photo-upload-input {
    display: none;
}

.status-badge {
    font-size: 0.85rem;
    margin-left: 6px;
    font-weight: 600;
}

.status-badge.pending {
    color: #15803d;
}

.status-badge.rejected {
    color: #b91c1c;
}

.muted {
    color: var(--muted);
}

.primary-btn {
    background: var(--primary);
    border: none;
    color: #fff;
    padding: 14px 30px;
    border-radius: 999px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.primary-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(20, 52, 164, 0.3);
}

.registration-form {
    margin-top: 25px;
    display: none;
    flex-direction: column;
    gap: 16px;
}

.registration-form.show {
    display: flex;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 18px;
}

label {
    display: block;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text);
}

.full-width {
    width: 100%;
}

.positions-field {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.positions-label {
    font-weight: 600;
    color: var(--text);
}

.positions-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
    border: 1px solid #d8deeb;
    border-radius: 12px;
    padding: 12px;
    min-height: 54px;
}

.position-option {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 8px;
    border-radius: 8px;
}

.position-option input {
    margin-top: 0;
}

label textarea {
    margin-top: 6px;
    padding: 10px 12px;
    border: 1px solid #d8deeb;
    border-radius: 10px;
    font-size: 1rem;
    font-family: inherit;
}

.required-indicator {
    color: #e11d48;
    margin-left: 4px;
}

input,
select {
    margin-top: 6px;
    padding: 10px 12px;
    border: 1px solid #d8deeb;
    border-radius: 10px;
    font-size: 1rem;
}

.secondary-btn {
    border: 1px solid var(--primary);
    background: transparent;
    color: var(--primary);
    padding: 12px 24px;
    border-radius: 999px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s ease;
}

.secondary-btn:hover {
    background: rgba(20, 52, 164, 0.1);
}

.secondary-btn:disabled,
.primary-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.secondary-btn.danger {
    border-color: #b91c1c;
    color: #b91c1c;
}

.secondary-btn.danger:hover {
    background: rgba(185, 28, 28, 0.08);
}

.ghost-btn.danger {
    border-color: #b91c1c;
    color: #b91c1c;
}

.ghost-btn.danger:hover {
    background: rgba(185, 28, 28, 0.08);
}

.ghost-btn {
    border: 1px solid #d8deeb;
    background: #fff;
    border-radius: 999px;
    padding: 12px 24px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
}

.modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(15, 20, 40, 0.55);
    z-index: 1000;
    padding: 20px;
}

.modal.open {
    display: flex;
}

.modal-content {
    background: #fff;
    padding: 24px;
    border-radius: 16px;
    width: 100%;
    max-width: 480px;
    position: relative;
}

.modal-close {
    position: absolute;
    top: 12px;
    right: 12px;
    background: transparent;
    border: none;
    font-size: 1.2rem;
    cursor: pointer;
}

.modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 16px;
}

.searchable-select {
    position: relative;
    margin-top: 6px;
}

.searchable-select .options-list {
    position: absolute;
    left: 0;
    right: 0;
    z-index: 10;
}

.searchable-select input[type="text"] {
    width: 100%;
    margin: 0;
    cursor: pointer;
}

.searchable-select input[type="text"]:disabled {
    cursor: not-allowed;
}

.searchable-select .options-list {
    list-style: none;
    margin: 6px 0 0;
    padding: 0;
    max-height: 180px;
    overflow-y: auto;
    border: 1px solid #d8deeb;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 10px 25px rgba(15, 20, 40, 0.1);
    display: none;
}

.searchable-select.open .options-list {
    display: block;
}

.searchable-select .options-list li {
    padding: 10px 14px;
    cursor: pointer;
}

.searchable-select .options-list li:hover,
.searchable-select .options-list li.selected {
    background: rgba(20, 52, 164, 0.1);
}

.searchable-select .options-list li.empty {
    cursor: default;
    color: var(--muted);
}

.helper-text {
    color: var(--muted);
    margin: 0;
}

.helper-text[data-type='error'] {
    color: #b91c1c;
}

.helper-text[data-type='success'] {
    color: #0f7b48;
}

.team-otp {
    margin-top: 20px;
    padding: 20px;
    border: 1px dashed rgba(20, 52, 164, 0.4);
    border-radius: 12px;
    background: rgba(20, 52, 164, 0.03);
}

.otp-inline {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin-top: 8px;
}

.hidden {
    display: none !important;
}

.team-complete-message {
    white-space: pre-line;
    font-size: 1rem;
    color: var(--text);
}

.otp-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.helper-text.muted {
    font-size: 0.9rem;
}

footer {
    text-align: center;
    padding: 30px;
    color: var(--muted);
}

@media (max-width: 768px) {
    .logo {
        position: static;
        margin: 0 auto 16px;
    }

    .hero {
        padding-top: 180px;
    }

    .admin-login-wrapper {
        position: static;
        margin: 0 auto 20px;
        width: auto;
    }
}
.player-drafting-card {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.player-drafting-card .primary-btn {
    align-self: flex-start;
}
.drafting-card-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}
.drafting-overlay {
    position: fixed;
    inset: 0;
    background: rgba(24, 30, 45, 0.95);
    backdrop-filter: blur(12px);
    display: none;
    align-items: stretch;
    justify-content: flex-start;
    z-index: 9999;
    overflow-y: auto;
}
.drafting-overlay.show {
    display: flex;
}
.drafting-overlay-inner {
    position: relative;
    width: 100%;
    min-height: 100vh;
    background: rgba(24, 30, 45, 0.95);
    display: flex;
    flex-direction: column;
}
.drafting-overlay-inner.hidden {
    display: none;
}
.broadcast-scene {
    display: none;
    width: 100%;
    padding: 50px 5vw 80px;
}
.broadcast-scene.active {
    display: block;
}
.broadcast-card {
    max-width: 1200px;
    margin: 0 auto;
    background: rgba(20, 25, 40, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 28px;
    padding: 32px;
    color: #f8fafc;
    box-shadow: 0 30px 70px rgba(0, 0, 0, 0.35);
}
.broadcast-card h2 {
    margin: 4px 0 6px;
    font-size: 2.4rem;
    letter-spacing: 0.08em;
}
.broadcast-card h4 {
    margin: 18px 0 10px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 1rem;
}
.broadcast-card .scene-subtitle {
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.65);
}
.broadcast-metrics {
    margin: 28px 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 16px;
}
.broadcast-metric {
    padding: 12px 16px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    text-align: center;
}
.broadcast-metric span {
    display: block;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: rgba(255, 255, 255, 0.7);
}
.broadcast-metric strong {
    font-size: 1.5rem;
}
.broadcast-player-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 14px;
    margin-top: 10px;
}
.broadcast-player-card {
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 18px;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(255, 255, 255, 0.03);
}
.broadcast-player-card img {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    object-fit: cover;
}
.broadcast-player-card strong {
    display: block;
    font-size: 1rem;
}
.broadcast-player-card span {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.7);
}

@media (min-width: 1400px) {
    .broadcast-card.intro {
        max-width: 100%;
        width: 100%;
    }
    .broadcast-card.intro h2 {
        font-size: 4.8rem;
        margin-bottom: 12px;
    }
    .broadcast-card.intro h4 {
        font-size: 2rem;
        margin: 24px 0 14px;
    }
    .broadcast-card.intro .scene-subtitle {
        font-size: 1.7rem;
        letter-spacing: 0.3em;
    }
    .broadcast-card.result {
        max-width: 100%;
        width: 100%;
        padding: 48px;
    }
    .broadcast-card.result h2 {
        font-size: 4.8rem;
        margin-bottom: 12px;
    }
    .broadcast-card.result .scene-subtitle {
        font-size: 1.7rem;
        letter-spacing: 0.3em;
    }
    .broadcast-metric span {
        font-size: 1.7rem;
    }
    .broadcast-metric strong {
        font-size: 3rem;
    }
    .broadcast-player-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 20px;
    }
    .broadcast-player-card {
        padding: 18px;
        gap: 16px;
    }
    .broadcast-player-card img {
        width: 108px;
        height: 108px;
    }
    .broadcast-player-card strong {
        font-size: 2rem;
    }
    .broadcast-player-card span {
        font-size: 1.4rem;
    }
    .broadcast-card.result .lottery-results-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 24px;
    }
    .broadcast-card.result .lottery-team-slot {
        padding: 24px;
        gap: 20px;
        border-radius: 28px;
    }
    .broadcast-card.result .lottery-thumb {
        width: 90px;
        height: 90px;
    }
    .broadcast-card.result .lottery-player-meta strong,
    .broadcast-card.result .lottery-team-meta strong {
        font-size: 1.4rem;
    }
    .broadcast-card.result .lottery-player-meta span,
    .broadcast-card.result .lottery-team-meta span {
        font-size: 1rem;
    }
    .broadcast-card.result .lottery-divider {
        font-size: 4rem;
    }
}
.drafting-overlay-close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 2px solid #fff;
    background: transparent;
    color: #fff;
    font-size: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}
.drafting-overlay-close:hover {
    background: #fff;
    color: #111827;
}
.drafting-overlay-content {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #f8fafc;
    flex-direction: column;
    padding: 0 5vw 4vw;
    width: 100%;
}
.drafting-overlay-tabs {
    margin: 40px auto 10px;
    display: flex;
    gap: 12px;
}
.overlay-tab {
    border: 1px solid rgba(255, 255, 255, 0.6);
    background: transparent;
    color: #fff;
    padding: 10px 24px;
    border-radius: 999px;
    font-size: 0.95rem;
    letter-spacing: 0.08em;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}
.overlay-tab.active,
.overlay-tab:hover {
    background: #fff;
    color: #111827;
}
.drafting-overlay-panels {
    width: 100%;
    flex: 1;
    overflow-y: auto;
    display: flex;
    padding-bottom: 20px;
}
.overlay-panel {
    flex: 1;
    display: none;
}
.overlay-panel.active {
    display: block;
}
.overlay-panel-body {
    min-height: 200px;
    overflow-y: auto;
}
.drafting-result-modal {
    position: fixed;
    inset: 0;
    background: rgba(7, 11, 20, 0.8);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    backdrop-filter: blur(8px);
    padding: 20px;
}
.drafting-result-modal.show {
    display: flex;
}
.drafting-result-modal-inner {
    background: rgba(15, 23, 42, 0.95);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 24px;
    padding: 28px;
    width: min(900px, 90vw);
    color: #f8fafc;
    position: relative;
    text-align: center;
}
.drafting-result-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.3);
    background: transparent;
    color: #fff;
    font-size: 1.6rem;
    cursor: pointer;
    transition: background 0.2s ease;
}
.drafting-result-close:hover {
    background: rgba(255, 255, 255, 0.15);
}
.drafting-result-content {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 20px;
    align-items: center;
    justify-items: center;
}
.drafting-result-content .result-player,
.drafting-result-content .result-team {
    grid-column: span 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}
.drafting-result-content .result-icon {
    font-size: 3rem;
    color: #facc15;
}
.result-avatar {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.3);
    overflow: hidden;
    box-shadow: 0 12px 35px rgba(0, 0, 0, 0.35);
}
.result-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.result-meta h3 {
    margin: 0;
    font-size: 1.5rem;
}
.result-meta p {
    margin: 0;
    color: rgba(255, 255, 255, 0.8);
    font-size: 1rem;
}
.drafting-result-amount {
    margin: 22px 0 0;
    font-size: 1.4rem;
    font-weight: 600;
    color: #f8fafc;
    letter-spacing: 0.05em;
}
@media (min-width: 1200px) {
    .drafting-result-modal-inner {
        width: min(1800px, 95vw);
        padding: 56px;
    }
    .drafting-result-content {
        gap: 36px;
    }
    .drafting-result-content .result-icon {
        font-size: 6rem;
    }
    .result-avatar {
        width: 280px;
        height: 280px;
        border-width: 3px;
        box-shadow: 0 20px 45px rgba(0, 0, 0, 0.45);
    }
    .result-meta h3 {
        font-size: 3rem;
    }
    .result-meta p {
        font-size: 2rem;
    }
    .drafting-result-amount {
        font-size: 2.8rem;
        margin-top: 32px;
    }
}
@media (max-width: 768px) {
    .bid-assignments-grid,
    .auction-assignments-grid {
        grid-template-columns: 1fr;
    }
    .bid-assignments-grid .lottery-team-slot,
    .auction-assignments-grid .lottery-team-slot {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        row-gap: 8px;
    }
    .drafting-result-content {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .drafting-result-content .result-player,
    .drafting-result-content .result-team {
        grid-column: span 1;
    }
    .result-avatar {
        width: 110px;
        height: 110px;
    }
}
@media (min-width: 480px) and (max-width: 984px) {
    .drafting-view .auction-assignments-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.overlay-empty {
    text-align: center;
    color: rgba(255, 255, 255, 0.7);
}
.poll-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}
.poll-list-card {
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 16px;
    padding: 18px 20px 20px;
    background: rgba(255, 255, 255, 0.04);
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.res-pool-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin: 12px 0 18px;
}
.res-pool-btn {
    border: 1px solid rgba(255, 255, 255, 0.25);
    background: rgba(255, 255, 255, 0.06);
    color: #f8fafc;
    border-radius: 999px;
    padding: 6px 16px;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
}
.res-pool-btn.active {
    background: #2563eb;
    border-color: #2563eb;
}
.res-results-wrapper {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.res-results-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.res-results-header h3 {
    margin: 0;
    font-size: 1.2rem;
    letter-spacing: 0.05em;
}
.res-results-header span {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.7);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}
.poll-collapse-controls,
.squad-collapse-controls {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-bottom: 12px;
}
.poll-collapse-toggle,
.squad-collapse-toggle {
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 999px;
    background: transparent;
    color: #f8fafc;
    padding: 6px 16px;
    font-size: 0.85rem;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}
.poll-collapse-toggle:hover,
.squad-collapse-toggle:hover {
    background: rgba(255, 255, 255, 0.1);
}
.poll-list-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.poll-header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}
.poll-list-card h4 {
    margin: 0;
    letter-spacing: 0.08em;
    font-size: 1.05rem;
}
.poll-type {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.65);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.poll-collapse-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.4);
    background: transparent;
    color: #f8fafc;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}
.poll-collapse-btn:hover {
    background: rgba(255, 255, 255, 0.15);
}
.poll-player-section {
    transition: max-height 0.25s ease;
}
.poll-list-card.collapsed .poll-player-section {
    display: none;
}
.poll-player-grid {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 16px;
}
.poll-player-card {
    border-radius: 18px;
    padding: 16px 12px 12px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}
.poll-player-thumb {
    width: 84px;
    height: 84px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid rgba(255, 255, 255, 0.2);
}
.poll-player-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.poll-player-name {
    font-weight: 600;
    font-size: 0.95rem;
    color: #f8fafc;
}
.poll-player-name .poll-player-batch {
    color: rgba(255, 255, 255, 0.75);
    font-weight: 400;
    font-size: 0.9rem;
}
.poll-player-price {
    font-size: 0.85rem;
    color: #cbd5f5;
}
.poll-player-pool {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.7);
}
.overlay-empty.small {
    font-size: 0.85rem;
}
.squad-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}
.squad-list-card {
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 16px;
    padding: 18px 20px 20px;
    background: rgba(255, 255, 255, 0.04);
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.squad-list-header {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 10px;
    text-align: center;
    position: relative;
    padding-top: 20px;
}
.squad-logo {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid rgba(255, 255, 255, 0.3);
}
.squad-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.squad-team-meta h4 {
    margin: 0;
    font-size: 1.2rem;
    letter-spacing: 0.05em;
}
.squad-team-meta p {
    margin: 0;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.95rem;
}
.squad-collapse-btn {
    position: absolute;
    top: 10px;
    left: 10px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.4);
    background: transparent;
    color: #f8fafc;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}
.squad-collapse-btn:hover {
    background: rgba(255, 255, 255, 0.15);
}
.squad-player-section {
    transition: max-height 0.25s ease;
}
.squad-list-card.collapsed .squad-player-section {
    display: none;
}
.squad-team-stats {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.75);
    text-align: right;
}
.bid-panel {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.bid-player-strip {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 16px;
    padding-top: 8px;
}
.bid-result-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}
.bid-result-toggle .toggle-label {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 0.95rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: rgba(255, 255, 255, 0.85);
}
.bid-result-toggle .toggle-label small {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.55);
}
.bid-result-toggle.disabled {
    opacity: 0.6;
}
.result-toggle-btn {
    width: 64px;
    height: 32px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.08);
    display: flex;
    align-items: center;
    padding: 2px;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
}
.result-toggle-btn .toggle-knob {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #f8fafc;
    transition: transform 0.2s ease;
}
.result-toggle-btn.active {
    background: #2563eb;
    border-color: #2563eb;
}
.result-toggle-btn.active .toggle-knob {
    transform: translateX(32px);
    background: #fff;
}
.bid-assignments-container {
    margin-top: 18px;
}
.lottery-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    font-weight: 600;
}
.lottery-summary span {
    padding: 6px 16px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
}
.lottery-heading {
    margin: 0 0 10px;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.85);
}
.lottery-results-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px;
}
.lottery-team-slot {
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 18px;
    padding: 14px 16px;
    background: rgba(255, 255, 255, 0.04);
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 12px;
    align-items: center;
}
.lottery-player,
.lottery-team {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
}
.lottery-thumb {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid rgba(255, 255, 255, 0.2);
    background: rgba(15, 23, 42, 0.4);
}
.lottery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.lottery-thumb.team {
    border-color: rgba(37, 99, 235, 0.4);
}
.lottery-divider {
    font-size: 2.2rem;
    color: #facc15;
    text-align: center;
}
.lottery-player-meta,
.lottery-team-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.lottery-player-meta strong,
.lottery-team-meta strong {
    font-size: 1rem;
}
.lottery-player-meta span,
.lottery-team-meta span {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.7);
}
.lottery-player-meta.waiting {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.8rem;
    color: #f97316;
}

@media (min-width: 985px) {
    .lottery-results-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .lottery-thumb {
        width: 144px;
        height: 144px;
    }
}
@media (min-width: 480px) and (max-width: 984px) {
    .lottery-results-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
.lottery-results .auction-assignments-grid {
    display: none;
}
.bid-strip-card {
    border-radius: 18px;
    text-align: center;
    padding: 12px 8px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.bid-strip-card.active {
    border-color: #facc15;
    background: rgba(250, 204, 21, 0.12);
}
.bid-strip-thumb {
    width: 56px;
    height: 56px;
    margin: 0 auto;
    border-radius: 50%;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.2);
}
.bid-strip-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.bid-strip-name {
    font-weight: 600;
    font-size: 1rem;
}
.bid-strip-batch,
.bid-strip-price {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.7);
}
.bid-layout {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}
.bid-teams-column {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.bid-team-card {
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 16px;
    padding: 16px;
    background: rgba(255, 255, 255, 0.04);
    display: grid;
    grid-template-columns: 1fr 1.8fr 0.8fr;
    grid-template-rows: auto;
    gap: 12px;
    align-items: center;
}
.bid-team-card.leading {
    border-color: #fbbf24;
    box-shadow: 0 0 15px rgba(251, 191, 36, 0.2);
}
.bid-assignments-grid,
.auction-assignments-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px;
    padding: 8px 0 4px;
}
.bid-assignments-grid .lottery-team-slot,
.auction-assignments-grid .lottery-team-slot {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.04);
}
.bid-assignments-grid .slot-player-meta,
.bid-assignments-grid .slot-team-meta,
.auction-assignments-grid .slot-player-meta,
.auction-assignments-grid .slot-team-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.bid-assignments-grid .slot-player-photo,
.bid-assignments-grid .slot-team-photo,
.auction-assignments-grid .slot-player-photo,
.auction-assignments-grid .slot-team-photo {
    display: flex;
    align-items: center;
    justify-content: center;
}
.bid-assignments-grid strong,
.auction-assignments-grid strong {
    font-size: 1rem;
}
.bid-assignments-grid span,
.auction-assignments-grid span {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.7);
}
.bid-assignments-grid img,
.auction-assignments-grid img {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid rgba(255, 255, 255, 0.15);
}
.bid-assignments-grid .slot-arrow,
.auction-assignments-grid .slot-arrow,
.bid-assignments-grid .slot-icon,
.auction-assignments-grid .slot-icon {
    font-size: 2.3rem;
    color: #facc15;
    text-align: center;
}
.auction-assignments-wrapper {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 12px 0;
}
.auction-assignments-heading {
    margin: 0;
    font-size: 1.2rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.9);
    text-align: center;
}
@media (min-width: 985px) {
    .auction-assignments-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .auction-assignments-grid img {
        width: 128px;
        height: 128px;
    }
    .drafting-view .auction-assignments-grid .lottery-team-slot {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: repeat(2, auto);
        align-items: center;
        justify-items: center;
    }
    .drafting-view .auction-assignments-grid .slot-player-photo {
        grid-column: 1;
        grid-row: 1;
    }
    .drafting-view .auction-assignments-grid .slot-player-meta {
        grid-column: 1;
        grid-row: 2;
        align-items: center;
        text-align: center;
    }
    .drafting-view .auction-assignments-grid .slot-team-photo {
        grid-column: 2;
        grid-row: 1;
    }
    .drafting-view .auction-assignments-grid .slot-team-meta {
        grid-column: 2;
        grid-row: 2;
        align-items: center;
        text-align: center;
    }
    .drafting-view .auction-assignments-grid .slot-icon,
    .drafting-view .auction-assignments-grid .slot-arrow {
        grid-column: 1 / -1;
        grid-row: 1 / span 2;
        align-self: center;
    }
}
.bid-team-header {
    display: flex;
    align-items: center;
    justify-content: center;
    grid-column: 1 / 2;
}
@media (max-width: 984px) {
    .bid-team-card {
        grid-template-columns: 1fr 1fr;
    }
    .bid-team-header {
        grid-column: 1 / 2;
        justify-self: flex-start;
        flex-direction: column;
        text-align: left;
        align-items: flex-start;
    }
    .bid-team-bid {
        grid-column: 2 / 3;
        justify-self: flex-end;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 4px;
    }
    .bid-team-central {
        display: none !important;
    }
    .bid-team-card.reverse .bid-team-header {
        justify-self: flex-end;
    }
    .bid-team-card.reverse .bid-team-bid {
        justify-self: flex-start;
        align-items: flex-start;
    }
    .bid-team-header .bid-team-subtitle {
        display: block;
        font-size: 0.9rem;
        color: rgba(255, 255, 255, 0.7);
        margin-top: 6px;
    }
    .bid-team-bid .bid-after-value {
        display: block;
        font-size: 1.1rem;
        color: rgba(255, 255, 255, 0.85);
    }
}
.bid-team-central {
    display: grid;
    grid-template-rows: auto auto;
    gap: 8px;
    font-size: 1rem;
}
.bid-team-central .bid-team-info h5 {
    font-size: 1.85rem;
}
.bid-team-central .bid-team-info p {
    font-size: 1.1rem;
}
.bid-team-central .bid-team-stats {
    font-size: 3.9rem;
}
.bid-team-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.bid-team-info h5 {
    margin: 0;
    font-size: 1rem;
}
.bid-team-info p {
    margin: 0;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.85rem;
}
.bid-team-bid {
    grid-column: 3 / 4;
    grid-row: 1 / 2;
    border-radius: 12px;
    padding: 12px;
    text-align: center;
}
.bid-team-bid span {
    display: block;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.7);
}
.bid-team-bid strong {
    font-size: 4rem;
    margin-top: 6px;
    display: inline-block;
}
.bid-team-logo {
    width: 112px;
    height: 112px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid rgba(255, 255, 255, 0.2);
}
.bid-team-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.bid-team-meta h5 {
    margin: 0;
    font-size: 1rem;
}
.bid-team-meta p {
    margin: 2px 0 0;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.85rem;
}
.bid-team-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto auto;
    gap: 4px 10px;
    font-size: 0.8rem;
}
.bid-team-stats span {
    display: block;
    color: rgba(255, 255, 255, 0.65);
}
.bid-team-stats strong {
    font-size: 2rem;
}
.bid-team-central .bid-team-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto auto;
    gap: 4px 10px;
    font-size: 0.8rem;
}
.bid-team-card.reverse {
    direction: rtl;
}
.bid-team-card.reverse * {
    direction: ltr;
}
.bid-team-card.reverse .bid-team-central,
.bid-team-card.reverse .bid-team-central .bid-team-info,
.bid-team-card.reverse .bid-team-central .bid-team-stats {
    text-align: right;
    justify-items: end;
}
.bid-player-column {
    display: flex;
    align-items: stretch;
    justify-content: center;
}
.bid-player-focus {
    border-radius: 18px;
    padding: 20px;
    text-align: center;
    width: 100%;
}
.bid-player-focus .bid-player-pool {
    text-transform: uppercase;
    font-size: 1.4rem;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.7);
    margin-bottom: 10px;
}
.bid-player-photo {
    width: 240px;
    height: 240px;
    margin: 0 auto 12px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid rgba(255, 255, 255, 0.2);
}
.bid-player-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.bid-player-focus h3 {
    margin: 0;
    font-size: 2rem;
}
.bid-player-focus h3 span {
    font-size: 1.3rem;
    color: rgba(255, 255, 255, 0.75);
}
.bid-player-price {
    margin: 8px 0 0;
    color: rgba(255, 255, 255, 0.95);
    font-size: 3.6rem;
    font-weight: 600;
}
.bid-leading-teams {
    margin-top: 16px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}
.bid-leading-logo {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding: 12px 20px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    font-size: 1.15rem;
}
.bid-leading-logo img {
    width: 112px;
    height: 112px;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.35);
}
.bid-mobile-layout {
    display: none;
    flex-direction: column;
    gap: 16px;
}
.bid-mobile-team-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
@media (max-width: 984px) {
    .bid-player-strip {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .bid-player-photo {
        width: 150px;
        height: 150px;
    }
}
@media (max-width: 480px) {
    .bid-leading-logo {
        gap: 8px;
        padding: 8px 12px;
        font-size: 0.95rem;
    }
    .bid-leading-logo img {
        width: 44px;
        height: 44px;
        box-shadow: none;
    }
    .bid-player-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
    .bid-layout {
        display: none;
    }
    .bid-mobile-layout {
        display: flex;
    }
    .bid-player-strip {
        overflow-x: auto;
    }
    .bid-mobile-team-grid {
        width: 100%;
    }
    .bid-mobile-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 0.85rem;
    }
    .bid-mobile-table th,
    .bid-mobile-table td {
        padding: 6px 8px;
        text-align: left;
        border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    }
    .bid-mobile-table th {
        text-transform: uppercase;
        font-size: 0.75rem;
        letter-spacing: 0.08em;
        color: rgba(255, 255, 255, 0.7);
    }
    .bid-mobile-table img {
        width: 36px;
        height: 36px;
        object-fit: contain;
    }
    .bid-mobile-table tbody tr.leading-row td {
        background: rgba(255, 255, 255, 0.05);
    }
}
@media (min-width: 481px) and (max-width: 984px) {
    .bid-team-card .bid-team-info,
    .bid-team-card .bid-team-central .bid-team-stats {
        display: none;
    }
}
@media (max-width: 984px) {
    .poll-player-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}
@media (max-width: 480px) {
    .poll-player-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
    .poll-player-thumb {
        width: 72px;
        height: 72px;
    }
    .poll-player-card {
        padding: 10px 8px;
        gap: 4px;
    }
    .poll-player-thumb {
        width: 56px;
        height: 56px;
    }
    .poll-player-name {
        font-size: 0.85rem;
    }
}
.bid-header {
    text-align: center;
}
.bid-header h2 {
    margin: 0;
    font-size: 1.8rem;
}
.bid-team-subtitle,
.bid-after-value {
    display: none;
}
