/* ==========================================================================
   GO-LATIN 2.0 — REPORTE DE PARTIDOS (/report-match)
   Solo ecosistema FC: todo bajo [data-gl="fc"] .gl-lg-<página>. Antes cada página traía su propio <style>
   con variables en :root (se filtraban a otras páginas) y colores fijos; ahora vive aquí:
     - las variables --fc-* son locales a cada página y apuntan a tokens --gl-* cuando coinciden;
     - los colores iguales a un token usan el token (los temas claro/glass/nexus los cambian);
     - el resto de colores fijos conserva los estilos de cada componente.
   .gl-lg-scope usa display: contents: envuelve la página sin cambiar el diseño. Lleva también .gl-container
   (sin efecto de caja por el display: contents) porque el tema claro usa .page:has(.gl-container) para saber
   que la vista es del Design System y pintar su fondo claro.
   ========================================================================== */

[data-gl="fc"] .gl-lg-scope {
    display: contents;
}

/* ==========================================================================
   REPORTE DE PARTIDOS (/report-match)
   ========================================================================== */

[data-gl="fc"] .gl-lg-report {
    --fc-accent: #00d2ff;
    --fc-accent-dark: #003399;
    --fc-bg-dark: #0b0c10;
    --fc-border: rgba(0, 210, 255, 0.2);
    --fc-text-main: #ffffff;
    --fc-text-muted: #8a8d93;
    --fc-win: #31ed8c;
    --fc-lose: #ff4757;
    --fc-draw: #feca57;
}

:where([data-gl="fc"] .gl-lg-report) .fc-entrance {
    animation: gl-lg-report-fadeInUp 0.6s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
    opacity: 0;
    transform: translateY(30px);
}

@keyframes gl-lg-report-fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

:where([data-gl="fc"] .gl-lg-report) .fc-zoom-in {
    animation: gl-lg-report-zoomIn 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
    opacity: 0;
    transform: scale(0.8);
}

@keyframes gl-lg-report-zoomIn {
    to {
        opacity: 1;
        transform: scale(1);
    }
}

:where([data-gl="fc"] .gl-lg-report) .report-container {
    padding: 2rem 1rem;
    min-height: 100vh;
    background-color: #0b0c10;
    background-image: radial-gradient(circle at top right, rgba(0, 210, 255, 0.05), transparent 40%), radial-gradient(circle at bottom left, rgba(0, 51, 153, 0.05), transparent 40%);
}

:where([data-gl="fc"] .gl-lg-report) .report-title {
    border-left: 5px solid #00d2ff;
    padding-left: 15px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -1px;
    color: #ffffff;
    margin-bottom: 1.5rem;
    text-shadow: 0 0 20px rgba(0, 210, 255, 0.3);
}

:where([data-gl="fc"] .gl-lg-report) .fc-nav-tabs {
    border-bottom: 1px solid rgba(0, 210, 255, 0.2);
    margin-bottom: 2rem;
    display: flex;
    gap: 0.5rem;
    overflow-x: auto;
    padding-bottom: 5px;
}

:where([data-gl="fc"] .gl-lg-report) .fc-nav-link {
    background: transparent;
    color: #8a8d93;
    border: none;
    border-bottom: 3px solid transparent;
    padding: 12px 25px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
    cursor: pointer;
    white-space: nowrap;
}

:where([data-gl="fc"] .gl-lg-report) .fc-nav-link:hover {
    color: #ffffff;
    background: rgba(255,255,255,0.05);
}

:where([data-gl="fc"] .gl-lg-report) .fc-nav-link.active {
    color: #00d2ff;
    border-bottom-color: #00d2ff;
    background: linear-gradient(to bottom, transparent, rgba(0, 210, 255, 0.1));
}

:where([data-gl="fc"] .gl-lg-report) .tab-badge {
    font-size: 0.7rem;
    padding: 2px 8px;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.1);
    margin-left: 8px;
}

:where([data-gl="fc"] .gl-lg-report) .competition-header {
    background: linear-gradient(90deg, rgba(11, 12, 16, 0.9) 0%, rgba(11, 12, 16, 0) 100%);
    border-left: 4px solid #00d2ff;
    padding: 10px 15px;
    margin-bottom: 1.5rem;
    margin-top: 2rem;
    display: flex;
    align-items: center;
    gap: 10px;
}

:where([data-gl="fc"] .gl-lg-report) .competition-header h4 {
    margin: 0;
    font-weight: 800;
    text-transform: uppercase;
    color: #ffffff;
    letter-spacing: 1px;
}

:where([data-gl="fc"] .gl-lg-report) .fc-match-card {
    background: rgba(10, 10, 15, 0.85);
    border: 1px solid rgba(0, 210, 255, 0.2);
    border-radius: 12px;
    backdrop-filter: blur(15px);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: all 0.3s ease;
    box-shadow: 0 10px 30px rgba(0, 51, 153, 0.4);
}

:where([data-gl="fc"] .gl-lg-report) .fc-match-card:hover {
    border-color: rgba(0, 210, 255, 0.4);
    box-shadow: 0 10px 40px rgba(0, 210, 255, 0.2);
    transform: translateY(-5px);
}

:where([data-gl="fc"] .gl-lg-report) .fc-card-header {
    background: rgba(0,0,0,0.6);
    padding: 15px;
    border-bottom: 1px solid rgba(0, 210, 255, 0.2);
}

:where([data-gl="fc"] .gl-lg-report) .fc-league-name {
    font-weight: 800;
    text-transform: uppercase;
    color: #ffffff;
    font-size: 1rem;
    letter-spacing: 1px;
    margin-bottom: 2px;
}

:where([data-gl="fc"] .gl-lg-report) .fc-match-phase {
    color: #00d2ff;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
}

:where([data-gl="fc"] .gl-lg-report) .fc-match-meta {
    color: #8a8d93;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 8px;
    display: flex;
    justify-content: space-between;
}

:where([data-gl="fc"] .gl-lg-report) .fc-card-body {
    padding: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-grow: 1;
}

:where([data-gl="fc"] .gl-lg-report) .fc-team-block {
    text-align: center;
    width: 30%;
}

:where([data-gl="fc"] .gl-lg-report) .fc-team-logo {
    width: 70px;
    height: 70px;
    object-fit: contain;
    margin-bottom: 12px;
    filter: drop-shadow(0 5px 15px rgba(0,0,0,0.5));
    transition: transform 0.3s;
}

:where([data-gl="fc"] .gl-lg-report) .fc-match-card:hover .fc-team-logo {
    transform: scale(1.1);
}

:where([data-gl="fc"] .gl-lg-report) .fc-team-name {
    font-size: 0.85rem;
    font-weight: 800;
    text-transform: uppercase;
    color: #ffffff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

:where([data-gl="fc"] .gl-lg-report) .fc-score-block {
    text-align: center;
    width: 40%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

:where([data-gl="fc"] .gl-lg-report) .fc-result-text {
    font-size: 1.2rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 3px;
    margin-bottom: 5px;
    text-shadow: 0 2px 10px rgba(0,0,0,0.8);
}

:where([data-gl="fc"] .gl-lg-report) .result-WIN {
    color: #31ed8c;
    text-shadow: 0 0 15px rgba(49, 237, 140, 0.4);
}

:where([data-gl="fc"] .gl-lg-report) .result-LOSE {
    color: #ff4757;
    text-shadow: 0 0 15px rgba(255, 71, 87, 0.4);
}

:where([data-gl="fc"] .gl-lg-report) .result-DRAW {
    color: #feca57;
}

:where([data-gl="fc"] .gl-lg-report) .fc-score-text {
    font-size: 2.5rem;
    font-weight: 900;
    color: #ffffff;
    line-height: 1;
    background: rgba(0,0,0,0.5);
    padding: 5px 15px;
    border-radius: 8px;
    border: 1px solid rgba(0, 210, 255, 0.2);
}

:where([data-gl="fc"] .gl-lg-report) .fc-card-footer {
    padding: 1.5rem;
    background: rgba(0,0,0,0.4);
    border-top: 1px solid rgba(0, 210, 255, 0.2);
    display: flex;
    flex-direction: column;
    gap: 10px;
}

:where([data-gl="fc"] .gl-lg-report) .btn-fc-primary {
    background: linear-gradient(45deg, #003399, #00d2ff);
    color: #fff;
    font-weight: 800;
    text-transform: uppercase;
    border: none;
    padding: 12px;
    border-radius: 6px;
    transition: all 0.2s;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    box-shadow: 0 4px 15px rgba(0, 210, 255, 0.3);
}

:where([data-gl="fc"] .gl-lg-report) .btn-fc-primary:hover:not(:disabled) {
    box-shadow: 0 6px 20px rgba(0, 210, 255, 0.6);
    transform: translateY(-2px);
    color: #fff;
}

:where([data-gl="fc"] .gl-lg-report) .btn-fc-primary:disabled {
    background: #343a40;
    color: #6c757d;
    cursor: not-allowed;
    box-shadow: none;
}

:where([data-gl="fc"] .gl-lg-report) .fc-btn-group {
    display: flex;
    gap: 10px;
}

:where([data-gl="fc"] .gl-lg-report) .btn-fc-outline {
    flex: 1;
    background: transparent;
    color: #ffffff;
    border: 1px solid rgba(0, 210, 255, 0.2);
    font-weight: 700;
    font-size: 0.75rem;
    text-transform: uppercase;
    padding: 10px 5px;
    border-radius: 6px;
    transition: all 0.2s;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
}

:where([data-gl="fc"] .gl-lg-report) .btn-fc-outline:hover {
    background: rgba(255,255,255,0.1);
    border-color: #8a8d93;
}

:where([data-gl="fc"] .gl-lg-report) .btn-fc-outline.info:hover {
    border-color: #0dcaf0;
    color: #0dcaf0;
    background: rgba(13, 202, 240, 0.1);
}

:where([data-gl="fc"] .gl-lg-report) .btn-fc-outline.warning:hover {
    border-color: #feca57;
    color: #feca57;
    background: rgba(254, 202, 87, 0.1);
}

:where([data-gl="fc"] .gl-lg-report) .btn-fc-outline.danger:hover {
    border-color: #ff4757;
    color: #ff4757;
    background: rgba(255, 71, 87, 0.1);
}

:where([data-gl="fc"] .gl-lg-report) .fc-input {
    background: rgba(0,0,0,0.5);
    border: 1px solid rgba(0, 210, 255, 0.2);
    color: #fff;
    border-radius: 6px;
    padding: 10px;
}

:where([data-gl="fc"] .gl-lg-report) .fc-input:focus {
    background: rgba(0, 51, 153, 0.2);
    border-color: #00d2ff;
    color: #fff;
    box-shadow: none;
    outline: none;
}

:where([data-gl="fc"] .gl-lg-report) .fc-select {
    background-color: #11141c;
    color: #fff;
}

:where([data-gl="fc"] .gl-lg-report) .star-rating i {
    font-size: 1.8rem;
    cursor: pointer;
    transition: transform 0.2s, color 0.2s;
}

:where([data-gl="fc"] .gl-lg-report) .star-rating i:hover {
    transform: scale(1.2);
}

:where([data-gl="fc"] .gl-lg-report) .stats-table-container {
    background: rgba(0,0,0,0.4);
    border-radius: 12px;
    border: 1px solid rgba(0, 210, 255, 0.2);
    overflow: hidden;
}

:where([data-gl="fc"] .gl-lg-report) .table-ea {
    color: #fff;
    margin-bottom: 0;
    border-collapse: separate;
    border-spacing: 0;
}

:where([data-gl="fc"] .gl-lg-report) .table-ea thead th {
    background-color: rgba(11, 12, 16, 0.9);
    color: #00d2ff;
    border-bottom: 2px solid rgba(0, 210, 255, 0.3);
    text-transform: uppercase;
    font-size: 0.75rem;
    padding: 1rem;
}

:where([data-gl="fc"] .gl-lg-report) .table-ea tbody tr {
    transition: all 0.2s ease;
    border-bottom: 1px solid rgba(255,255,255,0.05);
}

:where([data-gl="fc"] .gl-lg-report) .table-ea tbody tr:last-child {
    border-bottom: none;
}

:where([data-gl="fc"] .gl-lg-report) .table-ea td {
    vertical-align: middle;
    background-color: transparent;
    padding: 0.8rem 1rem;
    border-top: none;
}

:where([data-gl="fc"] .gl-lg-report) .rating-badge {
    background-color: #0b0c10;
    border: 1px solid rgba(0, 210, 255, 0.2);
    padding: 5px 10px;
    border-radius: 6px;
    font-weight: 800;
    box-shadow: inset 0 0 10px rgba(0,0,0,0.5);
}

:where([data-gl="fc"] .gl-lg-report) .rating-excellent {
    color: #00d2ff;
    border-color: #00d2ff;
    box-shadow: inset 0 0 10px rgba(0, 210, 255, 0.2);
}

:where([data-gl="fc"] .gl-lg-report) .rating-good {
    color: #0dcaf0;
    border-color: #0dcaf0;
    box-shadow: inset 0 0 10px rgba(13, 202, 240, 0.2);
}

:where([data-gl="fc"] .gl-lg-report) .rating-average {
    color: #ffc107;
    border-color: #ffc107;
    box-shadow: inset 0 0 10px rgba(255, 193, 7, 0.2);
}

:where([data-gl="fc"] .gl-lg-report) .evidence-badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 50px;
    font-size: 0.75rem;
    font-weight: bold;
    text-decoration: none;
    transition: transform 0.2s;
    border: 1px solid rgba(255,255,255,0.1);
    color: #fff;
    background: rgba(0,0,0,0.5);
}

:where([data-gl="fc"] .gl-lg-report) .evidence-badge:hover {
    transform: scale(1.05);
    color: #fff;
}

:where([data-gl="fc"] .gl-lg-report) .evidence-badge.twitch {
    border-color: #9146FF;
}

:where([data-gl="fc"] .gl-lg-report) .evidence-badge.twitch i {
    color: #9146FF;
}

:where([data-gl="fc"] .gl-lg-report) .evidence-badge.youtube {
    border-color: #FF0000;
}

:where([data-gl="fc"] .gl-lg-report) .evidence-badge.youtube i {
    color: #FF0000;
}

:where([data-gl="fc"] .gl-lg-report) .evidence-badge.facebook {
    border-color: #1877F2;
}

:where([data-gl="fc"] .gl-lg-report) .evidence-badge.facebook i {
    color: #1877F2;
}

/* ==========================================================================
   COLORES QUE ANTES ESTABAN EN style="" (Reporte de partidos y Panel de liga)
   Misma prioridad práctica que el estilo en línea: le ganan a .alert-*, .btn-outline-light y :hover.
   Discord y WhatsApp son colores de marca: se quedan fijos.
   ========================================================================== */

[data-gl="fc"] .gl-lg-scope .gl-lg-alert-info {
    background: #0d202e;
    color: #84d8ff;
}

[data-gl="fc"] .gl-lg-scope .gl-lg-alert-success {
    background: #1a2c23;
    color: #80e27e;
}

[data-gl="fc"] .gl-lg-scope .gl-lg-alert-danger {
    background: #2c1a1a;
    color: #ff8a80;
}

[data-gl="fc"] .gl-lg-scope .gl-lg-fill-info {
    background-color: #0dcaf0;
}

[data-gl="fc"] .gl-lg-scope .gl-lg-text-info {
    color: #0dcaf0;
}

[data-gl="fc"] .gl-lg-scope .gl-lg-text-neutral {
    color: #6c757d;
}

[data-gl="fc"] .gl-lg-scope .gl-lg-discord {
    color: #5865F2;
}

[data-gl="fc"] .gl-lg-scope .gl-lg-discord-border {
    border-color: #5865F2;
}

[data-gl="fc"] .gl-lg-scope .gl-lg-whatsapp {
    color: #25D366;
}

[data-gl="fc"] .gl-lg-scope .gl-lg-whatsapp-border {
    border-color: #25D366;
}

/* Ligas invitadas: gestión de capitanes y plantillas. */
.gx-page .gl-guest-captain-scope{min-width:0}
.gx-page .gc-shell{max-width:980px;margin:0 auto;padding:28px 0 32px;display:grid;gap:24px;min-width:0}
.gx-page .gc-head{display:grid;gap:10px;padding:8px 0 4px}
.gx-page .gc-head h1{font-family:var(--gx-display);font-size:clamp(2.2rem,5vw,3.6rem);font-style:italic;text-transform:uppercase;line-height:1.05;margin:0}
.gx-page .gc-head h1 em{color:var(--gx-gold);font-style:inherit}
.gx-page .gc-head p,.gx-page .gc-form p,.gx-page .gc-team p{color:var(--gx-text2);line-height:1.5;margin:0}
.gx-page .gc-back{display:inline-flex;align-items:center;gap:8px;width:max-content;min-height:44px;color:var(--gx-text2);font-weight:700}
.gx-page .gc-back:hover,.gx-page .gc-hint a:hover{color:var(--gx-gold)}
.gx-page .gc-head-links,.gx-page .gc-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.gx-page .gc-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.gx-page .gc-team,.gx-page .gc-form{border-radius:20px;padding:22px;min-width:0;display:grid;gap:16px}
.gx-page .gc-team-title{display:flex;align-items:center;gap:15px;min-width:0}
.gx-page .gc-team-title img{width:52px;height:52px;object-fit:contain;flex:none}
.gx-page .gc-team-title div{min-width:0}
.gx-page .gc-team-title h2,.gx-page .gc-form h2{font-family:var(--gx-display);font-size:1.45rem;font-style:italic;line-height:1.15;text-transform:uppercase;margin:0;overflow-wrap:anywhere}
.gx-page .gc-team-title small,.gx-page .gc-team-title span{display:block;color:var(--gx-text2);font-size:.84rem}
.gx-page .gc-team-meta{display:flex;flex-wrap:wrap;gap:8px}
.gx-page .gc-team-meta span,.gx-page .gc-status{padding:6px 10px;border:1px solid var(--gx-sep);border-radius:999px;color:var(--gx-text2);font-size:.78rem;font-weight:700}
.gx-page .gc-form-head{display:flex;align-items:start;justify-content:space-between;gap:16px}
.gx-page .gc-form-head i{font-size:1.6rem;color:var(--gx-gold)}
.gx-page .gc-search{display:flex;gap:10px;align-items:stretch;min-width:0}
.gx-page .gc-search .gx-input{min-width:0;flex:1}
.gx-page .gc-search .gx-btn{flex:none}
.gx-page .gc-hint{font-size:.88rem}
.gx-page .gc-hint a{color:var(--gx-cyan);text-decoration:underline}
.gx-page .gc-results,.gx-page .gc-roster{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.gx-page .gc-results li,.gx-page .gc-roster li{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:12px 14px;background:rgba(7,6,26,.5);border:1px solid var(--gx-sep);border-radius:14px}
.gx-page .gc-results li>span,.gx-page .gc-player-name{min-width:0;display:grid;gap:2px;overflow-wrap:anywhere}
.gx-page .gc-results li small,.gx-page .gc-player-name small{color:var(--gx-text2);font-size:.78rem}
.gx-page .gc-results li .gx-btn,.gx-page .gc-roster li .gx-btn{flex:none}
.gx-page .gc-player-name a:hover{color:var(--gx-gold)}
.gx-page .gc-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.gx-page .gc-summary>div{border-radius:16px;padding:16px;display:grid;gap:3px}
.gx-page .gc-summary strong{font-family:var(--gx-display);font-size:1.7rem;color:var(--gx-gold)}
.gx-page .gc-summary span{color:var(--gx-text2);font-size:.85rem}
.gx-page .gc-empty{color:var(--gx-text2)}
.gx-page .gc-empty-card{border-radius:20px;padding:26px;display:grid;gap:12px}
.gx-page .gc-empty-card h2{margin:0;font-family:var(--gx-display);font-size:1.5rem}
.gx-page .gc-empty-card .gx-btn{justify-self:start}
.gx-page .gc-message,.gx-page .gc-error{margin:0;border-radius:14px;padding:12px 16px;font-weight:700}
.gx-page .gc-message{color:var(--gx-green);background:color-mix(in srgb,var(--gx-green) 12%,transparent);border:1px solid color-mix(in srgb,var(--gx-green) 35%,transparent)}
.gx-page .gc-error{color:var(--gx-red);background:color-mix(in srgb,var(--gx-red) 12%,transparent);border:1px solid color-mix(in srgb,var(--gx-red) 35%,transparent)}
.gx-page .gc-confirm{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:16px;border:1px solid var(--gx-gold);border-radius:14px}
.gx-page .gc-confirm p{flex:1 1 220px}
.gx-page .gc-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.gx-page .gc-image-slot{display:grid;align-content:start;justify-items:start;gap:12px;min-width:0;padding:18px;border:1px solid var(--gx-sep);border-radius:16px;background:rgba(7,6,26,.5)}
.gx-page .gc-image-slot h3{font-size:1rem;margin:0}
.gx-page .gc-logo-preview{width:120px;height:120px;display:grid;place-items:center}
.gx-page .gc-logo-preview img{width:104px;height:104px;object-fit:contain}
.gx-page .gc-background-preview{width:144px;height:216px;border:1px solid var(--gx-sep);border-radius:12px;overflow:hidden;display:grid;place-items:center;text-align:center;color:var(--gx-text2)}
.gx-page .gc-background-preview img{width:100%;height:100%;object-fit:cover}
.gx-page .gc-upload{position:relative;display:inline-flex;align-items:center;min-height:44px;max-width:100%;padding:10px 14px;border:1px solid var(--gx-cyan);border-radius:999px;color:var(--gx-cyan);font-weight:800;cursor:pointer;overflow:hidden}
.gx-page .gc-upload input[type=file]{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.gx-page .gc-upload:focus-within{outline:2px solid var(--gx-gold);outline-offset:3px}
@media(max-width:620px){
  .gx-page .gc-shell{gap:16px;padding-top:18px}
  .gx-page .gc-team-grid,.gx-page .gc-image-grid{grid-template-columns:1fr}
  .gx-page .gc-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gx-page .gc-team,.gx-page .gc-form{padding:16px}
  .gx-page .gc-search{flex-wrap:wrap}
  .gx-page .gc-search .gx-input{flex-basis:100%}
  .gx-page .gc-results li,.gx-page .gc-roster li{flex-wrap:wrap}
}
