body {
    background-color: #f8f9fa;
}

.position-badge {
    font-size: 1.1rem;
    padding: 0.4em 0.6em;
    min-width: 50px;
    text-align: center;
}

.position-badge-large {
    padding: 0.8em 1.2em;
    border-radius: 0.5rem;
}

.card {
    transition: box-shadow 0.2s;
}

.card:hover {
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1);
}

.table-warning {
    background-color: #fff3cd !important;
}

.card-title a {
    color: #212529;
}

.card-title a:hover {
    color: #0d6efd;
}

/* Touch-friendly action buttons on cards */
.card-actions {
    gap: 0.5rem !important;
}

.card-actions .btn {
    min-height: 38px;
    padding: 0.35rem 0.65rem;
    font-size: 0.85rem;
}

.nav-actions .btn {
    min-height: 38px;
    padding: 0.4rem 0.75rem;
}

/* Tournament card grid: 1 col < 1000px, 2 cols 1000-1199px, 3 cols 1200px+ */
@media (min-width: 1000px) {
    .tournament-col {
        flex: 0 0 50%;
        max-width: 50%;
    }
}

@media (min-width: 1200px) {
    .tournament-col {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
}

/* Mobile-friendly tables: stack on small screens */
@media (max-width: 576px) {
    .container {
        padding-left: 10px;
        padding-right: 10px;
    }

    /* Events/draws table as stacked cards */
    .table-responsive-stack thead {
        display: none;
    }

    .table-responsive-stack tbody tr {
        display: block;
        border: 1px solid #dee2e6;
        border-radius: 0.375rem;
        margin-bottom: 0.5rem;
        padding: 0.5rem;
        background: #fff;
    }

    .table-responsive-stack tbody td {
        display: flex;
        justify-content: space-between;
        padding: 0.25rem 0.5rem;
        border: none;
    }

    .table-responsive-stack tbody td::before {
        content: attr(data-label);
        font-weight: 600;
        margin-right: 0.5rem;
        color: #6c757d;
    }

    /* Entry list table: horizontal scroll */
    .entry-list-table {
        font-size: 0.8rem;
    }

    /* Navbar tweaks */
    .navbar .btn-sm {
        padding: 0.4rem 0.6rem;
    }

    /* Filter pills full width */
    .nav-pills .nav-link {
        padding: 0.5rem 1rem;
    }
}
