/*
 * Shared theme overrides for the public site, admin portal, and display
 * mode. Bootstrap 5's built-in dark/light color modes (data-bs-theme)
 * handle most of the work; this file holds project-specific accents.
 */

:root {
    --tm-accent: #e63946;
    --tm-accent-soft: rgba(230, 57, 70, 0.15);
}

body {
    min-height: 100vh;
}

.navbar-brand i {
    color: var(--tm-accent);
}

.badge-status-pending { background-color: #6c757d !important; }
.badge-status-ready { background-color: #0d6efd !important; }
.badge-status-in_progress { background-color: #fd7e14 !important; }
.badge-status-completed { background-color: #198754 !important; }

.badge-checkin-registered { background-color: #6c757d !important; }
.badge-checkin-checked_in { background-color: #198754 !important; }
.badge-checkin-eliminated { background-color: #dc3545 !important; }
.badge-checkin-withdrawn { background-color: #495057 !important; }
.badge-checkin-no_show { background-color: #fd7e14 !important; }

.bracket-round {
    min-width: 260px;
}

.bracket-match-card {
    border-left: 4px solid var(--tm-accent);
}

.bracket-match-card.winner-decided .participant.is-winner {
    font-weight: 700;
}

.bracket-match-card .participant.is-loser {
    opacity: 0.55;
    text-decoration: line-through;
}

/* Tournament Display Mode: large fonts, high contrast, no chrome */
.display-mode-body {
    background-color: #000;
    color: #fff;
}

.display-mode-panel {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 3rem;
}

.display-mode-panel h1 {
    font-size: 4rem;
    font-weight: 800;
}

.display-mode-panel .panel-subtitle {
    font-size: 1.75rem;
    color: #adb5bd;
}

.table-sticky-header thead th {
    position: sticky;
    top: 0;
    z-index: 1;
}
