﻿/* --- REGISTRATION PAGE MODERNIZATION (FINAL) --- */

/* 1. Main Filters & Layout
-------------------------------------------------- */
.reg-filters-card {
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    border: 1px solid #ddd;
    margin-top: 20px;
}

    .reg-filters-card .panel-heading {
        background-color: #f8f9fa;
        font-weight: 600;
    }

.panel-heading h4 {
    font-size: 15px;
}


/* 2. Main Registrations Table
-------------------------------------------------- */
.reg-table-container {
    position: relative;
}

.reg-table-wrapper {
    overflow: auto;
    max-height: 70vh;
    -webkit-overflow-scrolling: touch;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}

.reg-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

    .reg-table th,
    .reg-table td {
        padding: 10px 12px;
        vertical-align: middle;
        white-space: nowrap;
        border-bottom: 1px solid #dee2e6;
    }

    .reg-table > thead {
        position: -webkit-sticky;
        position: sticky;
        top: -1px;
        z-index: 10;
        background-color: #f8f9fa;
    }

        .reg-table > thead th {
            border-bottom: 2px solid #ccc;
            font-size: 13px;
            font-weight: 600;
        }

    .reg-table tbody th,
    .reg-table tfoot th:first-child {
        position: -webkit-sticky;
        position: sticky;
        left: 0;
        z-index: 5;
        background-color: #fff;
        box-shadow: 2px 0 5px rgba(0,0,0,0.04);
    }

.table-striped > tbody > tr:nth-of-type(odd) > th {
    background-color: #f9f9f9;
}

.reg-table thead th:first-child {
    z-index: 15;
}

/* UPDATED: Set desktop font size for team names */
.reg-table .team-name {
    font-weight: 500;
    color: #333;
    font-size: 14px; /* Default desktop size */
}

.reg-table .tick-icon {
    color: #28a745;
    font-size: 1.1em;
}

.reg-table tfoot {
    position: -webkit-sticky;
    position: sticky;
    bottom: -1px;
    z-index: 10;
    background-color: #f8f9fa;
}

    .reg-table tfoot th {
        font-weight: bold;
        border-top: 2px solid #ccc;
    }

/* NEW: Media query for mobile-specific font sizes */
@media (max-width: 767px) {
    .reg-table .team-name {
        font-size: 12px; /* Smaller font on mobile */
    }
}


/* 3. Legend and Footer
-------------------------------------------------- */
.reg-legend {
    font-size: 13px;
    background-color: #f7f7f7;
    padding: 15px;
}

    .reg-legend h5 {
        margin-top: 0;
        font-weight: bold;
        margin-bottom: 10px;
    }

    /* NEW: Use Flexbox for robust legend layout */
    .reg-legend .legend-item {
        display: flex;
        align-items: baseline; /* Aligns abbr with first line of text */
        margin-bottom: 5px;
        line-height: 1.5;
    }

    /* NEW: Ensure abbreviation column is styled correctly */
    .reg-legend .abbr {
        flex-shrink: 0; /* Prevents the abbreviation from shrinking */
        min-width: 100px;
        font-weight: 600;
        display: inline-block;
    }
