/**
 * Estilos — points.css (restaurado do template original)
 */
/* alert, header, quick-nav: ver match/layout.css + match_subnav.html */

        /* Table Styles */
        .table-responsive {
            overflow-x: auto;
            margin-top: 1rem;
        }

        .table {
            table-layout: fixed;
            width: 100%;
        }

        .table th, .table td {
            text-align: center;
            padding: 0.6rem;
            font-size: 13px;
        }

        /* Definindo larguras fixas para as colunas */
        .table th:first-child,
        .table td:first-child {
            width: 100%;
        }

        .table td.name-column {
            text-align: left;
        }

        /* Estilo para o cabeçalho do atleta */
        .athlete-header {
            display: flex;
            align-items: center;
            margin-bottom: 0.5rem;
        }

        .athlete-points {
            text-align: right;
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            margin-top: -0.2rem;
        }

        .points-main {
            font-size: 0.95rem;
            font-weight: bold;
            color: var(--match-accent);
            line-height: 1;
            margin-bottom: 0.1rem;
        }

        .points-percent {
            font-size: 0.7rem;
            color: #6c757d;
            margin-top: 0.1rem;
        }

        /* Badge de posição para desktop - REMOVIDO */
        /* .athlete-position-badge {
            background: linear-gradient(135deg, var(--match-accent), var(--match-brand-light));
            color: white;
            font-weight: bold;
            padding: 0.5rem 0.75rem;
            border-radius: 20px;
            font-size: 0.9rem;
            min-width: 50px;
            text-align: center;
            margin-right: 1rem;
            box-shadow: 0 2px 4px rgba(var(--match-brand-rgb), 0.3);
        } */

        .athlete-details {
            flex: 1;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .athlete-name-section {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 0.25rem;
        }

        .athlete-name-row {
            display: flex;
            flex-direction: row;
            align-items: center;
            gap: 0.5rem;
            flex-wrap: wrap;
        }

        .athlete-match-stats {
            font-size: 0.8rem;
            color: #6c757d;
            font-weight: normal;
            line-height: 1.35;
        }

        .badge-container {
            display: inline-flex;
            flex-wrap: wrap;
            gap: 0.5rem;
        }

        .athlete-name {
            font-weight: 600;
            color: #2c3e50;
            font-size: 0.85rem;
        }

        /* Estilo para a coluna de Match Pts */
        .table td.textright {
            text-align: center;
            vertical-align: middle;
            white-space: nowrap;
            word-wrap: break-word;
        }

        .athlete-info {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
        }

        .badge {
            display: inline-flex;
            align-items: center;
            padding: 0.35em 0.65em;
            font-size: 0.75em;
            font-weight: 700;
            line-height: 1;
            text-align: center;
            white-space: nowrap;
            vertical-align: baseline;
            border-radius: 0.25rem;
            color: white;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
            transition: all 0.2s ease;
            min-width: 50px;
            justify-content: center;
            flex-shrink: 0;
            border: 1.5px solid #bdbdbd;
        }

        /* Badge Styles for Power Factor, Class and Category */
        .badge-powerfactor {
            background-color: #f8f9fa;
            color: #495057;
            padding: 0.15rem 0.5rem;
            border-radius: 0.25rem;
            font-weight: bold;
            border: 1.5px solid #bdbdbd;
            min-width: 50px;
            justify-content: center;
            font-size: 0.75rem;
        }

        .badge-class {
            background-color: #f8f9fa;
            padding: 0.1rem 0.3rem;
            border-radius: 0.25rem;
            font-weight: bold;
            border: 1.5px solid #bdbdbd;
            min-width: 25px;
            justify-content: center;
            font-size: 0.7rem;
        }

        .badge-class.M {
            background-color: var(--match-accent-soft);
            color: var(--match-accent);
            border-color: var(--match-accent-border);
            border-width: 1.5px;
        }

        .badge-class.A {
            background-color: #e3f2fd;
            color: var(--match-info-blue);
            border-color: #b8daff;
            border-width: 1.5px;
        }

        .badge-class.B {
            background-color: #fff3e6;
            color: #fd7e14;
            border-color: #ffe0b3;
            border-width: 1.5px;
        }

        .badge-class.C {
            background-color: #fce8e8;
            color: #dc3545;
            border-color: #f5c6cb;
            border-width: 1.5px;
        }

        .badge-class.D {
            background-color: #f8f9fa;
            color: #6c757d;
            border-color: #e9ecef;
            border-width: 1.5px;
        }

        /* Estilos específicos para classes G, GM e U */
        .badge-class.G {
            background-color: var(--match-accent-soft);
            color: var(--match-accent);
            border-color: var(--match-accent-border);
            border-width: 1.5px;
        }

        .badge-class.GM {
            background-color: var(--match-accent-soft);
            color: var(--match-accent-dark);
            border-color: var(--match-accent-border);
            border-width: 1.5px;
        }

        .badge-class.U {
            background-color: #f8f9fa;
            color: #6c757d;
            border-color: #e9ecef;
            border-width: 1.5px;
        }

        /* Category Badge Styles */
        .badge-category {
            background-color: #f3e8ff;
            color: #6f42c1;
            padding: 0.15rem 0.5rem;
            border-radius: 0.25rem;
            border: 1.5px solid #bdbdbd;
            min-width: 60px;
            justify-content: center;
            font-size: 0.75rem;
        }

        .badge-team {
            background-color: #fff3cd;
            color: #000000;
            padding: 0.15rem 0.5rem;
            border-radius: 0.25rem;
            border: 1.5px solid #bdbdbd;
            min-width: 60px;
            justify-content: center;
            font-size: 0.75rem;
        }

        .badge-container {
            display: inline-flex;
            gap: 0.5rem;
        }

        .match_points_new {
            color: #6c757d;
            font-size: 0.85rem;
            margin-top: 0.5rem;
            text-align: center;
            padding-left: 0;
        }

        @media (max-width: 768px) {
            /* Esconder a tabela tradicional no mobile */
            .table-responsive {
                display: none !important;
            }
            
            /* Mostrar cards para mobile */
            .mobile-cards {
                display: block !important;
            }
            
            /* Container principal em tela cheia */
            .container {
                padding: 0;
                margin: 0;
                max-width: 100%;
                width: 100%;
            }
            
            /* mobile-card / badges / stats: ver match/layout.css */

            .mobile-stages-section {
                margin-top: 0.5rem;
            }
            
            .mobile-stages-title {
                font-weight: bold;
                font-size: 0.75rem;
                margin-bottom: 0.3rem;
                color: #495057;
            }
            
            .mobile-stages-grid {
                display: flex;
                flex-wrap: wrap;
                gap: 2px;
                margin-bottom: 0.3rem;
            }
            
            .mobile-stage-square {
                width: 22px;
                height: 22px;
                font-size: 13px;
                border: 2px solid var(--match-accent);
                border-radius: 5px;
                box-shadow: 0 1px 3px rgba(40,167,69,0.10);
                cursor: pointer;
                transition: all 0.2s ease;
                position: relative;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                font-weight: bold;
                color: white;
                text-shadow: 0 1px 2px rgba(0,0,0,0.5);
            }
            
            .mobile-stage-square:hover {
                transform: scale(1.2);
            }
            
            .mobile-stage-square.completed {
                background-color: var(--match-stage-completed, #28a745);
                border-color: var(--match-stage-completed, #28a745);
                color: #fff;
            }
            
            .mobile-stage-square.pending {
                background-color: var(--match-stage-pending, #ffc107);
                border-color: var(--match-stage-pending, #ffc107);
                color: var(--match-stage-pending-text, #333);
            }
            
            /* Indicador de que é clicável */
            .mobile-stage-square::before {
                content: 'ℹ';
                position: absolute;
                top: -2px;
                right: -2px;
                background: rgba(0, 0, 0, 0.8);
                color: white;
                font-size: 5px;
                width: 8px;
                height: 8px;
                border-radius: 50%;
                display: flex;
                align-items: center;
                justify-content: center;
                opacity: 0;
                transition: opacity 0.2s;
                pointer-events: none;
            }
            
            .mobile-stage-square:hover::before {
                opacity: 1;
            }
            
            .mobile-stages-percent {
                font-size: 0.7rem;
                color: #6c757d;
                text-align: center;
            }
            
            /* Division header mobile */
            .match-page-header--division {
                margin: 0.5rem 0;
                padding: 0.75rem;
                border-radius: 0.5rem;
            }
            
            .match-page-header--division .match-page-header__title {
                font-size: 1rem;
                flex-direction: row;
                align-items: center;
                gap: 0.5rem;
                flex-wrap: nowrap;
            }
            
            .division-counter {
                background: linear-gradient(135deg, #6c757d, #545b62);
                color: white;
                font-weight: 600;
                padding: 0.2rem 0.6rem;
                border-radius: 15px;
                font-size: 0.7rem;
                white-space: nowrap;
                box-shadow: 0 1px 3px rgba(108, 117, 125, 0.3);
                display: inline-flex;
                align-items: center;
                justify-content: center;
                margin-left: 0.5rem;
            }
            
            /* Alert mobile */
            .alert-mobile {
                margin: 0.5rem 0;
                padding: 0.5rem;
                font-size: 0.8rem;
            }
        }
        
        /* iPhone SE e telas muito pequenas */
        @media (max-width: 375px) {
            .mobile-stage-square {
                width: 18px;
                height: 18px;
                font-size: 11px;
            }
            
            /* Ajustar division header para telas muito pequenas */
            .match-page-header--division .match-page-header__title {
                font-size: 0.9rem;
                gap: 0.3rem;
                flex-wrap: nowrap;
            }
            
            .division-counter {
                background: linear-gradient(135deg, #6c757d, #545b62);
                color: white;
                font-weight: 600;
                padding: 0.15rem 0.5rem;
                border-radius: 10px;
                font-size: 0.65rem;
                white-space: nowrap;
                box-shadow: 0 1px 2px rgba(108, 117, 125, 0.3);
                display: inline-flex;
                align-items: center;
                justify-content: center;
                margin-left: 0.3rem;
            }
        }
        
        /* Desktop - esconder cards mobile */
        @media (min-width: 769px) {
            .mobile-cards {
                display: none;
            }
        }

        /* Estilos para o modal/hover dos stages */
        .stage-square {
            width: 24px;
            height: 24px;
            border-radius: 4px;
            cursor: pointer;
            transition: all 0.2s ease;
            position: relative;
            /* Adicionar flexbox para centralizar o número */
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 11px;
            font-weight: bold;
            color: white;
            text-shadow: 0 1px 2px rgba(0,0,0,0.5);
        }

        .stage-square:hover {
            transform: scale(1.2);
            box-shadow: 0 2px 8px rgba(0,0,0,0.3);
        }

        .stage-square.completed,
        .mobile-stage-square.completed {
            background-color: var(--match-stage-completed, #28a745);
            border-color: var(--match-stage-completed, #28a745);
            color: #fff;
        }

        .stage-square.pending,
        .mobile-stage-square.pending {
            background-color: var(--match-stage-pending, #ffc107);
            border-color: var(--match-stage-pending, #ffc107);
            color: var(--match-stage-pending-text, #333);
        }

        /* Mobile - ícone de informação */
        .mobile-stage-square {
            position: relative;
        }

        /* CSS correto para o modal stage-info-modal */
        .stage-info-modal {
            display: none !important;
            position: fixed !important;
            z-index: 9999 !important;
            left: 0 !important;
            top: 0 !important;
            width: 100% !important;
            height: 100% !important;
            background-color: rgba(0, 0, 0, 0.5) !important;
            backdrop-filter: blur(2px) !important;
            overflow-y: auto !important;
            padding: 15px !important;
            box-sizing: border-box !important;
        }

        .stage-info-modal.show {
            display: block !important;
        }

        .stage-info-content {
            background-color: #fff !important;
            margin: 0 auto !important;
            padding: 16px !important;
            border-radius: 8px !important;
            width: 90% !important;
            max-width: 350px !important;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
            position: relative !important;
            animation: modalSlideIn 0.3s ease !important;
            transform: translateY(0) !important;
        }

        .stage-info-header {
            display: flex !important;
            justify-content: space-between !important;
            align-items: center !important;
            margin-bottom: 12px !important;
            padding-bottom: 8px !important;
            border-bottom: 1px solid #e9ecef !important;
        }

        .stage-info-title {
            font-size: 16px !important;
            font-weight: bold !important;
            color: #333 !important;
            margin: 0 !important;
        }

        .stage-info-close {
            background: none !important;
            border: none !important;
            font-size: 20px !important;
            cursor: pointer !important;
            color: #6c757d !important;
            padding: 0 !important;
            width: 28px !important;
            height: 28px !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            border-radius: 50% !important;
            transition: all 0.2s !important;
        }

        .stage-info-footer {
            text-align: center !important;
        }

        .stage-info-item {
            display: flex !important;
            justify-content: space-between !important;
            align-items: center !important;
            padding: 6px 0 !important;
            border-bottom: 1px solid #f8f9fa !important;
            font-size: 13px !important;
        }

        .stage-info-label {
            font-weight: 500 !important;
            color: #495057 !important;
            display: flex !important;
            align-items: center !important;
            gap: 6px !important;
        }

        .stage-info-label i {
            width: 14px !important;
            text-align: center !important;
            color: #6c757d !important;
        }

        .stage-info-value {
            color: #6c757d !important;
            font-weight: 500 !important;
        }

        .stage-info-btn {
            background: var(--match-accent) !important;
            color: white !important;
            border: none !important;
            padding: 8px 16px !important;
            border-radius: 6px !important;
            font-size: 12px !important;
            font-weight: 500 !important;
            cursor: pointer !important;
            transition: background 0.2s !important;
        }

        .stage-info-btn:hover {
            background: var(--match-accent-dark) !important;
        }

        .stage-info-item:last-child {
            border-bottom: none !important;
        }

        .stage-info-value.completed {
            color: var(--match-stage-completed, #28a745) !important;
        }

        .stage-info-value.pending {
            color: var(--match-stage-pending, #ffc107) !important;
        }

        .stage-info-value.position {
            color: var(--match-accent) !important;
            font-weight: bold !important;
        }

        /* Animações e melhorias visuais */
        @keyframes modalSlideIn {
            from {
                opacity: 0;
                transform: translateY(-20px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .stage-info-content {
            animation: modalSlideIn 0.3s ease-out !important;
        }

        /* Melhor organização dos itens */
        .stage-info-item {
            transition: background-color 0.2s ease;
        }

        .stage-info-item:hover {
            background-color: #f8f9fa;
            border-radius: 4px;
            padding-left: 8px;
            padding-right: 8px;
            margin: 0 -8px;
        }

        /* Destaque para informações importantes */
        .stage-info-value.position {
            background: linear-gradient(45deg, var(--match-accent), var(--match-accent-dark));
            color: white !important;
            padding: 2px 8px;
            border-radius: 12px;
            font-size: 11px;
            font-weight: bold;
        }

        .stage-info-value.completed {
            font-weight: 600;
        }

        /* Melhor contraste para labels */
        .stage-info-label {
            min-width: 80px;
        }

        /* Melhorias para mobile */
        @media (max-width: 480px) {
            .stage-info-content {
                padding: 14px !important;
                max-width: 320px !important;
            }
            
            .stage-info-title {
                font-size: 15px !important;
            }
            
            .stage-info-item {
                font-size: 12px;
                padding: 5px 0;
            }
            
            .stage-info-label i {
                width: 12px;
                font-size: 11px;
            }
            
            .stage-info-btn {
                padding: 7px 14px;
                font-size: 11px;
            }
        }

        /* Responsividade adicional */
        @media (max-width: 360px) {
            .stage-info-content {
                padding: 12px !important;
                max-width: 300px !important;
            }
            
            .stage-info-item {
                font-size: 11px;
                padding: 4px 0;
            }
            
            .stage-info-label {
                min-width: 70px;
            }
            
            .stage-info-label i {
                width: 10px;
                font-size: 10px;
            }
        }

        .footer-container {
            margin-top: 3rem;
            padding: 2rem 0;
            text-align: center;
            border-top: 1px solid #e9ecef;
            background-color: #f8f9fa;
            border-radius: 0.5rem;
        }

        .footer-content {
            color: #6c757d;
            font-size: 0.9rem;
            line-height: 1.6;
        }

        .footer-content a {
            color: var(--match-accent);
            text-decoration: none;
            font-weight: 500;
        }

        .footer-content a:hover {
            text-decoration: underline;
        }

        @media (max-width: 768px) {
            .footer-container {
                margin-top: 2rem;
                padding: 1.5rem 0;
            }
            
            .footer-content {
                font-size: 0.85rem;
            }
        }

        .stage-square.pending, .mobile-stage-square.pending {
            background-color: var(--match-stage-pending, #ffc107) !important;
            color: var(--match-stage-pending-text, #333) !important;
            border-color: var(--match-stage-pending, #ffc107) !important;
        }

        .stage-square.completed, .mobile-stage-square.completed {
            background-color: var(--match-stage-completed, #28a745) !important;
            color: #fff !important;
            border-color: var(--match-stage-completed, #28a745) !important;
        }

        /* Estilos para a tabela de times */
        .team-table-container {
            margin-top: 2rem;
            background: #fff;
            border-radius: 0.5rem;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
            overflow: hidden;
            border: 1px solid #e9ecef;
        }

        .team-table-header {
            background: linear-gradient(135deg, var(--match-accent), var(--match-brand-light));
            color: white;
            padding: 1rem;
            text-align: center;
        }

        .team-table-header h4 {
            margin: 0;
            font-size: 1.1rem;
            font-weight: 600;
        }

        .team-table-container .table {
            margin: 0;
            table-layout: fixed;
        }

        .team-table-container .table th {
            background: #f8f9fa;
            border-bottom: 2px solid #dee2e6;
            font-weight: 600;
            color: #495057;
            padding: 0.75rem 0.5rem;
            font-size: 0.9rem;
        }

        .team-table-container .table td {
            vertical-align: top;
            border-bottom: 1px solid #e9ecef;
            padding: 0.75rem 0.5rem;
            word-wrap: break-word;
        }

        .team-name {
            font-weight: 600;
            color: var(--match-accent);
            font-size: 0.9rem;
        }

        .athlete-list {
            margin: 0;
            padding: 0;
        }

        .athlete-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 0.3rem;
            padding: 0.2rem 0;
            border-bottom: 1px solid #f8f9fa;
        }

        .athlete-item:last-child {
            margin-bottom: 0;
            border-bottom: none;
        }

        .athlete-name {
            font-size: 0.8rem;
            color: #495057;
            flex: 1;
            margin-right: 0.5rem;
        }

        .athlete-name small {
            font-size: 0.7rem;
            color: #6c757d;
        }

        .athlete-points {
            font-weight: 600;
            color: #495057;
            font-size: 0.8rem;
            flex-shrink: 0;
            min-width: 50px;
            text-align: right;
        }

        .team-total-row {
            background: var(--match-accent-soft) !important;
            border-top: 2px solid var(--match-accent) !important;
            margin-top: 0.5rem;
            padding-top: 0.5rem;
        }

        .team-total-points {
            color: var(--match-accent) !important;
            font-weight: bold !important;
            font-size: 0.9rem !important;
        }

        .badge-success {
            background: var(--match-accent);
            color: white;
            font-size: 0.6rem;
            padding: 0.1rem 0.3rem;
            border-radius: 0.25rem;
            font-weight: 600;
        }

        .text-center {
            text-align: center;
        }

        /* Responsividade para a tabela de times */
        @media (max-width: 768px) {
            .team-table-container {
                margin-top: 1rem;
                border-radius: 0.25rem;
            }
            
            .team-table-header {
                padding: 0.75rem;
            }
            
            .team-table-header h4 {
                font-size: 1rem;
            }
            
            .team-table-container .table th,
            .team-table-container .table td {
                padding: 0.5rem 0.3rem;
                font-size: 0.8rem;
            }
            
            .team-name {
                font-size: 0.8rem;
            }
            
            .athlete-name {
                font-size: 0.75rem;
            }
            
            .athlete-name small {
                font-size: 0.65rem;
            }
            
            .athlete-points {
                font-size: 0.75rem;
                min-width: 40px;
            }
            
            .athlete-item {
                margin-bottom: 0.2rem;
                padding: 0.15rem 0;
            }
        }

        @media (max-width: 480px) {
            .team-table-container .table th,
            .team-table-container .table td {
                padding: 0.4rem 0.2rem;
                font-size: 0.75rem;
            }
            
            .athlete-name {
                font-size: 0.7rem;
            }
            
            .athlete-points {
                font-size: 0.7rem;
                min-width: 35px;
            }
        }

        /* Estilos para cards mobile dos times */
        .mobile-team-cards {
            display: none;
        }

        @media (max-width: 768px) {
            .team-table-container .table-responsive {
                display: none !important;
            }
            
            .mobile-team-cards {
                display: block !important;
            }
            
            .mobile-team-card {
                background: #fff;
                border-radius: 8px;
                box-shadow: 0 1px 4px rgba(0,0,0,0.1);
                margin-bottom: 0.8rem;
                padding: 0.8rem;
                border: 1px solid #e9ecef;
            }
            
            .mobile-team-header {
                display: flex;
                justify-content: space-between;
                align-items: center;
                margin-bottom: 0.8rem;
                padding-bottom: 0.5rem;
                border-bottom: 2px solid var(--match-accent);
            }
            
            .mobile-team-name {
                font-weight: 600;
                color: var(--match-accent);
                font-size: 0.9rem;
                display: flex;
                align-items: center;
                gap: 0.5rem;
            }
            
            .mobile-team-athletes {
                display: flex;
                flex-direction: column;
                gap: 0.4rem;
            }
            
            .mobile-team-athlete {
                display: flex;
                justify-content: space-between;
                align-items: center;
                padding: 0.4rem 0.6rem;
                background: #f8f9fa;
                border-radius: 6px;
                border-left: 3px solid var(--match-accent);
            }
            
            .mobile-team-athlete-info {
                display: flex;
                flex-direction: column;
                gap: 0.2rem;
            }
            
            .mobile-team-athlete-name {
                font-weight: 600;
                color: #2c3e50;
                font-size: 0.8rem;
            }
            
            .mobile-team-athlete-division {
                font-size: 0.7rem;
                color: #6c757d;
            }
            
            .mobile-team-athlete-points {
                font-weight: 600;
                color: var(--match-accent);
                font-size: 0.8rem;
                background: var(--match-accent-soft);
                padding: 0.2rem 0.4rem;
                border-radius: 4px;
            }

            .mobile-team-total {
                background: var(--match-accent-soft) !important;
                border-left: 3px solid var(--match-accent-dark) !important;
                margin-top: 0.5rem;
            }

            .mobile-team-total-points {
                background: var(--match-accent-dark) !important;
                color: white !important;
                font-weight: bold !important;
                font-size: 0.9rem !important;
            }
        }

        @media (max-width: 480px) {
            .mobile-team-card {
                padding: 0.6rem;
                margin-bottom: 0.6rem;
            }
            
            .mobile-team-name {
                font-size: 0.8rem;
            }
            
            .mobile-team-athlete {
                padding: 0.3rem 0.5rem;
            }
            
            .mobile-team-athlete-name {
                font-size: 0.75rem;
            }
            
            .mobile-team-athlete-division {
                font-size: 0.65rem;
            }
            
            .mobile-team-athlete-points {
                font-size: 0.75rem;
                padding: 0.15rem 0.3rem;
            }
        }

/* --- Resultados (totals): stage boxes + mobile --- */
.match-page--points .mobile-stage-square,
.match-page--points .stage-square {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    cursor: pointer;
    box-sizing: border-box;
}

.match-page--points .mobile-stage-square.completed,
.match-page--points .stage-square.completed {
    background-color: var(--match-stage-completed, #28a745) !important;
    border: 2px solid var(--match-stage-completed, #28a745) !important;
    color: #fff !important;
}

.match-page--points .mobile-stage-square.pending,
.match-page--points .stage-square.pending {
    background-color: var(--match-stage-pending, #ffc107) !important;
    border: 2px solid var(--match-stage-pending, #ffc107) !important;
    color: var(--match-stage-pending-text, #333) !important;
}

@media (max-width: 768px) {
    .match-page--points .container.match-page {
        padding-left: 8px;
        padding-right: 8px;
    }

    .match-page--points .mobile-stages-grid {
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
    }

    .match-page--points .mobile-stage-square {
        min-width: 22px;
        min-height: 22px;
        font-size: 12px;
        line-height: 1;
        text-shadow: none;
        -webkit-text-fill-color: currentColor;
    }
}
