:root{
    --navy:#0C2354;
    --gold:#B99A58;
    --white:#FFFFFF;
    --ink:#111827;
    --muted:#718096;
    --line:#e5eaf1;
    --bg:#f5f7fb;
    font:13px Roboto,Arial,sans-serif;
    color:var(--ink);
}
*{box-sizing:border-box}
html,body{margin:0;min-width:320px}
body{background:var(--bg)}
a{text-decoration:none;color:inherit}
button,input,select{font:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
[hidden],.hidden{display:none!important}
.app-shell{display:flex;min-height:100vh}
.sidebar{
    background:var(--navy);
    flex:0 0 238px;
    width:238px;
    height:100vh;
    position:sticky;
    top:0;
    z-index:21;
    padding:27px 15px;
    display:flex;
    flex-direction:column;
}
.brand{display:flex;align-items:center;padding:3px 12px 40px}
.brand-text{font-size:23px;font-weight:700;color:#fff}
.brand-text span{color:var(--gold)}
.brand-img{object-fit:contain}
.side-label{
    font-size:10px;
    letter-spacing:1.5px;
    padding:0 12px 15px;
}
.side-nav{display:grid;gap:5px}
.nav-item{
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px;
    min-height:43px;
    font-weight:500;
}
.nav-item svg{flex-shrink:0}
.nav-item.active{
    box-shadow:inset 3px 0 0 var(--gold);
}
.nav-item.disabled{cursor:default}
.nav-item:not(.disabled):hover{background:#ffffff18}
.side-bottom{
    margin-top:auto;
    padding:18px 12px;
    font-size:11px;
}
.side-bottom p{color:#a6b5cd}
.page{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{
    background:white;
    height:66px;
    border-bottom:1px solid var(--line);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:0 34px;
}
.top-path{font-size:12px;color:#718096}
.top-actions{display:flex;gap:20px;align-items:center}
.top-actions>span{display:flex;gap:7px;align-items:center}
.account-state{
    border:1px solid var(--line);
    padding:9px 12px;
    border-radius:20px;
    color:var(--navy);
}
.menu-button{display:none;background:none;border:0}
main{
    flex:1;
    padding:34px 35px;
    max-width:1600px;
    width:100%;
    margin:0 auto;
}
.section-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:20px;
    margin-bottom:26px;
}
.eyebrow{
    font-weight:700;
    letter-spacing:1.5px;
    font-size:10px;
    color:var(--gold);
    margin-bottom:10px;
}
h1{
    font-size:25px;
    color:var(--navy);
    margin:0 0 10px;
    font-weight:700;
}
.section-head p{color:var(--muted);margin:0}
.switch-tabs{
    background:#e9edf5;
    border-radius:10px;
    display:flex;
    padding:4px;
    gap:3px;
    flex-shrink:0;
}
.switch-tabs a{
    display:flex;
    align-items:center;
    gap:7px;
    padding:10px 13px;
    border-radius:7px;
    font-weight:600;
    color:#66748c;
}
.switch-tabs .chosen{
    background:#fff;
    color:var(--navy);
    box-shadow:0 1px 5px #0c235417;
}
.panel{
    background:#fff;
    border:1px solid var(--line);
    border-radius:13px;
    padding:19px 21px;
    margin-bottom:18px;
}
.panel-title{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-bottom:17px;
}
.panel-title strong{
    display:flex;
    align-items:center;
    gap:8px;
    color:var(--navy);
}
.panel-title small{color:#8492a3}
.dates{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:10px;
}
.date-chip{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:5px;
    padding:12px 4px;
    border:1px solid var(--line);
    border-radius:9px;
    background:#fff;
}
.date-chip span{font-size:11px;color:#8492a3}
.date-chip strong{color:var(--navy)}
.date-chip.selected{
    background:var(--navy);
    border-color:var(--navy);
}
.date-chip.selected span,.date-chip.selected strong{color:#fff}
.date-chip:hover:not(.selected){background:#eef3fa}
.toolbar{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:19px;
}
.search-box{
    display:flex;
    align-items:center;
    gap:10px;
    padding:0 12px;
    height:42px;
    flex:1;
    max-width:360px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:9px;
    color:#8898aa;
}
.search-box input{
    border:0;
    background:none;
    outline:0;
    width:100%;
    min-width:0;
}
.toolbar select{
    height:42px;
    padding:0 12px;
    border:1px solid var(--line);
    background:#fff;
    border-radius:9px;
    color:#475569;
    max-width:275px;
}
.count{
    margin-left:auto;
    font-size:11px;
    color:#8492a3;
    white-space:nowrap;
}
.matches{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:13px;
}
.match-card{
    min-width:0;
    background:#fff;
    border:1px solid var(--line);
    border-radius:12px;
    padding:16px 13px 13px;
    box-shadow:0 2px 9px #0c23540c;
}
.match-card:hover{border-color:#bdcce0}
.match-top{
    display:flex;
    justify-content:space-between;
    align-items:start;
    gap:6px;
    min-height:36px;
}
.comp-label{
    display:flex;
    align-items:start;
    gap:5px;
    font-size:10px;
    font-weight:600;
    line-height:1.4;
    color:var(--navy);
}
.comp-label svg{flex:none;color:var(--gold)}
.match-state{
    color:#55708e;
    background:#edf2f9;
    border-radius:5px;
    padding:4px;
    text-align:right;
    overflow-wrap:anywhere;
}
.match-mid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 65px minmax(0,1fr);
    gap:5px;
    min-height:125px;
    align-items:center;
    text-align:center;
}
.side{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
    min-width:0;
}
.side strong{
    overflow-wrap:anywhere;
}
.crest{
    width:37px;
    height:37px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#f1f4f9;
    color:#7187a8;
}
.crest img{width:34px;height:34px;object-fit:contain}
.kickoff{
    color:#8492a3;
    font-size:10px;
    white-space:nowrap;
}
.score{
    color:var(--navy);
    font-size:23px;
    font-weight:700;
    margin-top:8px;
    white-space:nowrap;
}
.score span{color:#a4b1c3;font-size:14px}
.score .vs{
    font-size:11px;
    font-weight:600;
    background:#ecf1f8;
    border-radius:5px;
    padding:6px;
}
.match-foot{
    display:flex;
    justify-content:space-between;
    gap:7px;
    padding-top:12px;
    border-top:1px solid var(--line);
    color:#8b98a9;
    font-size:10px;
}
.notice{
    padding:30px;
    background:#fff;
    color:#64748b;
    border:1px solid var(--line);
    border-radius:12px;
    text-align:center;
}
.notice.error{color:#a43c35;border-color:#efc1be}
.info-foot{
    display:flex;
    align-items:flex-start;
    gap:9px;
    color:#8391a4;
    line-height:1.6;
    font-size:11px;
    margin-top:26px;
}
.info-foot svg{flex:none}
.footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px 20px;
    padding: 18px 35px;
    background: #fff;
    border-top: 1px solid #e5eaf1;
    color: #0C2354;
    font-size: 12px;
}

.footer .footer-copyright {
    color: #576b86;
    font-size: 11px;
    font-weight: 600;
}

.footer .footer-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 24px;
}

.footer .footer-links a {
    color: #0C2354;
    font-weight: 600;
}

.footer .footer-links a:hover {
    color: #94713c;
    text-decoration: underline;
}

.footer .footer-terms {
    color: #657993;
}
.scrim{display:none}

@media(max-width:1490px){
    .matches{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:1220px){
    .sidebar{flex-basis:215px;width:215px}
    .matches{grid-template-columns:repeat(3,minmax(0,1fr))}
    main{padding:30px 23px}
}
@media(max-width:1024px){
    .sidebar{
        position:fixed;
        inset:0 auto 0 0;
        transform:translateX(-100%);
        transition:transform .2s;
    }
    .sidebar.open{transform:translateX(0)}
    .menu-button{display:block}
    .topbar{padding:0 18px}
    .top-path{margin-right:auto}
    .scrim:not([hidden]){
        display:block;
        position:fixed;
        inset:0;
        background:#0b193770;
        z-index:20;
    }
}
@media(max-width:670px){
    .section-head{display:block}
    .section-head h1{font-size:22px}
    .switch-tabs{display:inline-flex;margin-top:18px}
    .dates{
        display:flex;
        overflow-x:auto;
        padding-bottom:5px;
        scroll-snap-type:x mandatory;
    }
    .date-chip{flex:0 0 88px;scroll-snap-align:start}
    .toolbar{flex-wrap:wrap}
    .search-box{max-width:none;flex-basis:100%}
    .toolbar select{flex:1}
    .matches{grid-template-columns:repeat(2,minmax(0,1fr))}
    main{padding:24px 15px}
    .panel{padding:15px}
    .top-actions>span:first-child{display:none}
}
@media(max-width:420px){
    .matches{grid-template-columns:1fr}
    .match-mid{
        grid-template-columns:minmax(0,1fr) 85px minmax(0,1fr);
    }
    .panel-title{flex-wrap:wrap}
    .account-state{font-size:0;padding:8px}
    .topbar{height:60px}
}
@media(prefers-reduced-motion:reduce){
    *{transition:none!important}
}

/* SPORTIQ_R072_UI_POLISH_V1 */
.nav-item{
  transition:background .16s ease,border-color .16s ease,color .16s ease
}
.nav-item.active{
  color:#fff
}
.nav-item.active svg{color:#d7bd83}
.nav-item:not(.disabled):hover{background:rgba(255,255,255,.12)}

.dates-nav{display:flex;align-items:center;gap:8px;min-width:0}
.dates-nav .dates{flex:1;min-width:0}
.dates-arrow{
  width:34px;
  height:40px;
  flex:0 0 34px;
  border:1px solid #e0e7f1;
  border-radius:9px;
  background:#fff;
  color:#0c2354;
  display:none;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease
}
.dates-arrow:hover:not(:disabled){
  background:#eff3fa;
  border-color:#c6d3e3
}
.dates-arrow:disabled{opacity:.3;cursor:default}

.country-flag{
  display:inline-flex;
  flex:none
}
.crest-fallback{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border:1px solid #d6deeb;
  border-radius:10px;
  background:#f2f5fa;
  color:#45628e;
  font-size:16px;
  font-weight:700
}
.crest{background:transparent}
.side strong{font-size:12px;line-height:1.4;font-weight:600}
.comp-label{font-size:11px}
.match-state{font-size:10px;padding:4px 6px}
.match-card{padding:16px 14px 13px}
.brand-img{
  object-fit:contain
}

@media(max-width:670px){
  .dates-nav{gap:7px}
  .dates-arrow{display:inline-flex}
  .dates-nav .dates{
    display:flex;
    overflow-x:auto;
    scroll-behavior:smooth;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -ms-overflow-style:none;
    gap:8px;
    overscroll-behavior-x:contain;
    padding:2px 0
  }
  .dates-nav .dates::-webkit-scrollbar{
    display:none;
    width:0;
    height:0
  }
  .dates-nav .date-chip{
    flex:0 0 91px;
    scroll-snap-align:start;
    min-height:58px
  }
}
@media(prefers-reduced-motion:reduce){
  .dates-nav .dates{scroll-behavior:auto}
}
/* SPORTIQ_R072_CONTRACT_V2 */
.crest-fallback {
    position: relative;
}
.crest-fallback svg {
    opacity: .22;
}
.crest-letter {
    position: absolute;
    font-weight: 700;
    line-height: 1;
}
.league-logo {
    width: 15px;
    height: 15px;
    object-fit: contain;
    flex: none;
}
.score-detail {
    display: block;
    margin-top: 4px;
    font-size: 9px;
    line-height: 1.3;
    color: #7a89a1;
}
.match-state {
    max-width: 100px;
    line-height: 1.3;
}
.page-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
    margin: 20px 0;
}
.page-nav a {
    display: inline-flex;
    padding: 9px 15px;
    background: white;
    border: 1px solid #dbe3ee;
    border-radius: 9px;
    color: #0C2354;
    font-weight: 600;
}
.page-nav span {
    color: #64748b;
    font-size: 11px;
}
.page-nav a:hover {
    background: #eef2f9;
}
/* SPORTIQ_R072_BRAND_FIX_V2 */
.mobile-brand {
    display: none;
    width: 29px;
    height: 29px;
    flex: 0 0 29px;
    object-fit: contain;
}
.country-flag {
    width: 20px;
    height: 15px;
    min-width: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    line-height: 1;
}
svg.country-flag {
    border-radius: 2px;
    border: 1px solid #0c23541c;
}
@media(max-width:1024px) {
    .mobile-brand { display: block; }
}
@media(max-width:420px) {
    .mobile-brand {
        width: 25px;
        height: 25px;
        flex-basis: 25px;
    }
}
/* SPORTIQ_R072_GROUPED_WHITE_V1 */
/* SPORTIQ_R072_NAVY_FINAL_V2 */

.sidebar {
    background: #0C2354;
    color: #e5edfa;
    border-right: 1px solid #213c6d;
    box-shadow: 2px 0 12px rgba(12,35,84,.08);
}

.brand {
    padding-bottom: 31px;
}

.brand-img {
    max-width: 195px;
    width: auto;
    height: auto;
    max-height: 49px;
    object-fit: contain;
}

.side-label {
    color: #aabddc;
}

.nav-item {
    color: #e0e9fa;
    border: 1px solid transparent;
    border-radius: 9px;
}

.nav-item.disabled {
    color: #aabbd6;
    opacity: .65;
}

.nav-item.active {
    background:linear-gradient(90deg,#113b70,#123566);
    border-color: rgba(255,255,255,.10);
    color: #fff;
    font-weight: 600;
    box-shadow: none;
}

.nav-item.active svg {
    color: #d6b574;
}

.nav-item:not(.disabled):hover {
    background: rgba(255,255,255,.10);
}

.side-bottom {
    border-top: 1px solid rgba(255,255,255,.18);
    color: #e6eefb;
}

.side-bottom p {
    color: #b3c1d9;
}
.match-groups {
    display: grid;
    gap: 14px;
}

.competition-group {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e0e6ef;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(12,35,84,.035);
}

.competition-header {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    list-style: none;
    user-select: none;
}

.competition-header::-webkit-details-marker {
    display: none;
}

.competition-header:hover {
}

.competition-heading {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
    flex-wrap: wrap;
}

.competition-country {
    display: flex;
    gap: 7px;
    align-items: center;
    color: #71819b;
    font-size: 11px;
}

.competition-title {
    display: flex;
    gap: 9px;
    align-items: center;
    color: #0C2354;
    font-size: 13px;
}

.competition-logo {
    width: 22px;
    height: 22px;
    object-fit: contain;
    background: #fff;
    padding: 2px;
    border-radius: 4px;
}

.competition-meta {
    display: flex;
    gap: 13px;
    align-items: center;
    flex: none;
    color: #8290a5;
    font-size: 11px;
}

.competition-meta svg {
    transition: transform .18s ease;
}

.competition-group[open] .competition-meta svg {
    transform: rotate(180deg);
}

.competition-content {
    border-top: 1px solid #ebeff5;
    padding: 16px;
    background: #f7f9fc;
}

.competition-content .matches {
    margin: 0;
}

.competition-content .match-card {
    box-shadow: 0 1px 6px rgba(12,35,84,.03);
}

.country-flag-img {
    display: inline-block;
    width: 20px;
    height: 15px;
    object-fit: contain;
    flex: none;
}

@media(max-width:670px) {
    .competition-header {
        padding: 13px 12px;
        min-height: 57px;
    }

    /* SPORTIQ_R072_HEADER_ONE_ROW_V1 */
    .competition-header .competition-heading {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: nowrap;
        flex: 1 1 auto;
        gap: 8px;
        width: auto;
        min-width: 0;
    }

    .competition-header .competition-country {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 23px;
        width: 23px;
        height: 17px;
        min-width: 23px;
    
        transform: translateY(2px);
    }

    .competition-header .competition-title {
        display: inline-flex;
        align-items: center;
        flex: 1 1 auto;
        gap: 6px;
        min-width: 0;
        white-space: nowrap;
    }

    .competition-header .competition-title strong {
        display: block;
        min-width: 0;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow-wrap: normal;
    }

    .competition-header .competition-meta {
        display: inline-flex;
        align-items: center;
        justify-content: flex-end;
        flex: 0 0 auto;
        gap: 6px;
        white-space: nowrap;
    }

    .competition-header .competition-meta span {
        white-space: nowrap;
    }

    .competition-country { font-size: 10px; }
    .competition-title { font-size: 12px; }

    .competition-meta {
        gap: 6px;
        font-size: 10px;
    }

    .competition-content { padding: 10px; }
}

@media(prefers-reduced-motion:reduce) {
    .competition-meta svg { transition: none; }
}
/* SPORTIQ_R072_COMPACT_MATCH_V1 */

/* Tarjetas deportivas compactas y uniformes */
.competition-content .matches {
    gap: 10px;
}

.competition-content .match-card {
    height: 174px;
    min-height: 174px;
    padding: 11px 12px 10px;
    display: flex;
    flex-direction: column;
}

/* Solo estado: país y liga ya están en el acordeón */
.match-card .match-top {
    min-height: 22px;
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 0;
}

.match-card .match-state {
    font-size: 9px;
    line-height: 1.25;
    font-weight: 500;
    max-width: 112px;
    padding: 4px 6px;
    border-radius: 5px;
    background: #f0f3f8;
    color: #58708e;
}

/* Zona central equilibrada */
.match-card .match-mid {
    flex: 1;
    min-height: 0;
    grid-template-columns:
        minmax(0,1fr) 70px minmax(0,1fr);
    gap: 4px;
    align-items: center;
}

.match-card .side {
    gap: 6px;
}

.match-card .crest {
    width: 33px;
    height: 33px;
}

.match-card .crest img {
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.match-card .crest-fallback {
    width: 32px;
    height: 32px;
}

.match-card .side strong {
    font-size: 11px;
    font-weight: 600;
    line-height: 1.35;
    text-align: center;
    overflow-wrap: anywhere;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.match-card .kickoff {
    font-size: 10px;
}

.match-card .score {
    font-size: 21px;
    margin-top: 5px;
}

.match-card .score-detail {
    font-size: 9px;
    line-height: 1.25;
    margin-top: 4px;
}

/* Pie homogéneo */
.match-card .match-foot {
    flex: 0 0 auto;
    min-height: 22px;
    padding-top: 7px;
    align-items: flex-end;
    font-size: 9px;
    gap: 5px;
}

@media(max-width:670px) {
    .competition-content .match-card {
        height: 170px;
        min-height: 170px;
    }
    .match-card .match-mid {
        grid-template-columns:
            minmax(0,1fr) 72px minmax(0,1fr);
    }
}
/* SPORTIQ_R072_ROWS_V1 */

.competition-header {
    background: #0C2354;
    color: #fff;
    min-height: 48px;
    padding: 10px 15px;
}

.competition-header:hover {
    background: #142f60;
}

.competition-header .competition-title,
.competition-header .competition-country,
.competition-header .competition-meta {
    color: #fff;
}

.competition-header .competition-heading {
    gap: 8px;
    flex-wrap: nowrap;
}

.competition-header .competition-country {
    font-size: 0;
    gap: 0;
}

.competition-header .competition-title {
    font-size: 12px;
}

.competition-header .competition-meta {
    color: #d5deed;
}

.competition-header .country-flag,
.competition-header .country-flag-img {
    width: 21px;
    height: 15px;
}

.competition-content.sq-rows-content {
    background: #fff;
    padding: 0;
}

.sq-rows-heading,
.sq-match-row {
    display: grid;
    grid-template-columns:
        90px
        minmax(220px,2.3fr)
        minmax(135px,1.2fr)
        78px
        156px;
    align-items: center;
    gap: 12px;
}

.sq-rows-heading {
    padding: 9px 14px;
    background: #f2f5fa;
    color: #536582;
    font-size: 11px;
    font-weight: 600;
    border-bottom: 1px solid #e4eaf3;
}

.sq-match-rows {
    display: block;
}

.competition-content .sq-match-row {
    display: grid;
    min-height: 50px;
    height: auto;
    box-shadow: none;
    border: 0;
    border-radius: 0;
    border-bottom: 1px solid #e8edf5;
    padding: 7px 14px;
    margin: 0;
    background: #fff;
}

.competition-content .sq-match-row:last-child {
    border-bottom: none;
}

.competition-content .sq-match-row:hover {
    background: #f8fafd;
}

.sq-row-hour {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    border-radius: 6px;
    background: #eef2f8;
    color: #0C2354;
    padding: 5px 9px;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

/* SPORTIQ_R072_MATCH_LEFT_V2 */

/* Columna Partido: ancho controlado y alineada a la izquierda. */
.competition-content .sq-match-row .sq-row-partido {
    display: grid;
    grid-template-columns:
        minmax(0, 160px) 18px minmax(0, 190px);
    align-items: center;
    justify-content: start;
    gap: 8px;
    width: min(100%, 384px);
    max-width: 100%;
    min-width: 0;
}

/* Ambos escudos preceden a su nombre. */
.competition-content .sq-match-row
.sq-row-partido > .sq-team:first-child,
.competition-content .sq-match-row
.sq-row-partido > .sq-team:last-child {
    display: flex;
    align-items: center;
    justify-self: start;
    justify-content: flex-start;
    flex-direction: row;
    gap: 6px;
    min-width: 0;
    max-width: 100%;
}

.competition-content .sq-match-row
.sq-row-partido > .sq-team strong {
    min-width: 0;
    text-align: left;
    overflow-wrap: anywhere;
    line-height: 1.3;
}

/* VS siempre ocupa su propia columna. */
.competition-content .sq-match-row
.sq-row-partido > .sq-vs {
    justify-self: center;
    text-align: center;
    white-space: nowrap;
}

/* Pantallas intermedias: distribuir el ancho disponible. */
@media (min-width: 921px) and (max-width: 1200px) {
    .competition-content .sq-match-row .sq-row-partido {
        grid-template-columns:
            minmax(0, 1fr) 18px minmax(0, 1fr);
        width: 100%;
        gap: 5px;
    }
}

/* Tablet y móvil: mismo orden, sin inversiones. */
@media (max-width: 920px) {
    .competition-content .sq-match-row .sq-row-partido {
        grid-template-columns:
            minmax(0, 1fr) 14px minmax(0, 1fr);
        width: min(100%, 380px);
        max-width: 100%;
        gap: 5px;
        padding: 0;
        border: 0;
    }

    .competition-content .sq-match-row
    .sq-row-partido > .sq-team:first-child,
    .competition-content .sq-match-row
    .sq-row-partido > .sq-team:last-child {
        flex-direction: row;
        justify-self: start;
        justify-content: flex-start;
        gap: 4px;
    }

    .competition-content .sq-match-row
    .sq-row-partido > .sq-team strong {
        text-align: left;
    }
}

.sq-team {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    flex: 0 1 auto;
}

.sq-team strong {
    font-size: 12px;
    line-height: 1.2;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.sq-vs {
    color: #9da9bb;
    font-size: 11px;
    flex: none;
}

.sq-row-crest {
    display: grid;
    place-items: center;
    width: 25px;
    height: 25px;
    flex: 0 0 25px;
}

.sq-row-crest img {
    width: 25px;
    height: 25px;
    object-fit: contain;
}

.sq-row-crest .crest-fallback {
    width: 24px;
    height: 24px;
    border-radius: 6px;
}

.sq-row-crest .crest-fallback svg {
    width: 17px;
    height: 17px;
}

.sq-row-crest .crest-letter {
    font-size: 11px;
}

.sq-row-primary,
.sq-row-extra,
.sq-row-action {
    font-size: 11px;
    min-width: 0;
}

.sq-pending,
.sq-muted-label {
    display: inline-block;
    border-radius: 5px;
    padding: 6px 9px;
    background: #f1f4f8;
    color: #62728b;
    font-size: 11px;
}

.sq-result-score {
    color: #0C2354;
    font-weight: 700;
    font-size: 14px;
}

.sq-final-state {
    color: #4f6685;
}

.sq-confidence-empty {
    color: #9ca9ba;
}

@media(max-width:1190px) {
    .sq-rows-heading,
    .sq-match-row {
        grid-template-columns:
            75px
            minmax(200px,2fr)
            minmax(135px,1fr)
            64px
            100px;
        gap: 7px;
    }
}

@media(max-width:820px) {
    .sq-rows-heading,
    .sq-match-row {
        grid-template-columns:
            76px minmax(0,1fr) minmax(110px,.7fr);
    }

    .sq-rows-heading>span:nth-child(4),
    .sq-rows-heading>span:nth-child(5),
    .sq-match-row>.sq-row-extra,
    .sq-match-row>.sq-row-action {
        display: none;
    }
}

@media(max-width:560px) {
    .sq-rows-heading,
    .sq-match-row {
        grid-template-columns:
            67px minmax(0,1fr);
        gap: 5px;
    }

    .sq-rows-heading>span:nth-child(3) {
        display: none;
    }

    .competition-content .sq-match-row {
        min-height: 65px;
        padding: 7px 10px;
    }

    .sq-row-primary {
        grid-column: 2;
        grid-row: 2;
    }

    .sq-team strong {
        font-size: 11px;
    }

    .sq-team {
        gap: 3px;
    }

    .sq-row-partido {
        gap: 4px;
    }

    .sq-row-crest {
        width: 21px;
        height: 21px;
        flex-basis: 21px;
    }

    .sq-row-crest img {
        width: 21px;
        height: 21px;
    }

    .competition-header {
        padding: 10px;
    }
}
/* SPORTIQ_R072_MOBILE_COMPLETE_V1 */

/* Aviso adulto: sobrio, sin simular control de edad */
.sidebar .sq-adult-note {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 15px 9px 10px;
    margin-top: auto;
    border-top: 1px solid rgba(255,255,255,.18);
    color: #e6eefb;
}
.sq-age-mark {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    flex: 0 0 37px;
    width: 37px;
    height: 29px;
    border: 1px solid rgba(185,154,88,.45);
    background: rgba(185,154,88,.09);
    border-radius: 7px;
    color: #efd39b;
    font-size: 12px;
    font-weight: 700;
}

.sq-adult-copy {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}
.sq-adult-copy strong {
    color: #fff;
    font-size: 11px;
    line-height: 1.35;
    font-weight: 700;
}
.sq-adult-copy small {
    display: block;
    color: #bbcae2;
    font-size: 10px;
    line-height: 1.5;
}

/* Mantener la tabla aprobada en escritorio.
   Reorganizarla completamente bajo 920px. */

@media (max-width: 920px) {
    .page, main, .panel, .competition-group,
    .competition-content, .sq-match-rows {
        min-width: 0;
        max-width: 100%;
    }

    .topbar {
        gap: 9px;
        padding-left: 13px;
        padding-right: 13px;
    }

    .top-path {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 11px;
    }

    .top-actions {
        gap: 7px;
        flex-shrink: 0;
    }

    .sq-rows-heading {
        display: none;
    }

    .competition-content.sq-rows-content {
        padding: 0;
        background: #fff;
    }

    .sq-match-rows {
        display: block;
    }

    .competition-content .sq-match-row {
        display: grid;
        grid-template-columns: 80px minmax(0,1fr);
        grid-template-areas:
            "hour partido"
            "primary extra";
        grid-template-rows: auto auto;
        gap: 3px 9px;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        height: auto;
        min-height: 55px;
        margin: 0;
        padding: 7px 11px;
        background: #fff;
        border: 0;
        border-bottom: 1px solid #e7ecf4;
        border-radius: 0;
        box-shadow: none;
    }

    .competition-content .sq-match-row:last-child {
        border-bottom: 0;
    }

    .sq-match-row > .sq-row-hour {
        grid-area: hour;
        align-self: center;
        font-size: 10px;
        padding: 5px 7px;
    }

    .sq-match-row > .sq-row-partido {
        grid-area: partido;
        display: grid;
        grid-template-columns:
            minmax(0,1fr) 14px minmax(0,1fr);
        align-items: center;
        gap: 4px;
        width: 100%;
        min-width: 0;
        padding: 0;
        border: 0;
    }

    .sq-row-partido .sq-team {
        display: flex;
        align-items: center;
        gap: 5px;
        min-width: 0;
        max-width: 100%;
    }

    .sq-row-partido .sq-team:last-child {
        justify-self: start;
        flex-direction: row;
    }

    .sq-row-partido .sq-team strong {
        min-width: 0;
        max-width: 100%;
        font-size: 11px;
        line-height: 1.28;
        font-weight: 600;
        overflow-wrap: break-word;
        text-align: left;
    }

    .sq-row-partido .sq-team:last-child strong {
        text-align: right;
    }

    .sq-row-partido .sq-vs {
        justify-self: center;
        font-size: 9px;
        color: #8fa0b8;
    }

    .sq-match-row .sq-row-crest {
        width: 24px;
        height: 24px;
        flex: 0 0 24px;
    }

    .sq-match-row .sq-row-crest img,
    .sq-match-row .sq-row-crest .crest-fallback {
        width: 24px;
        height: 24px;
    }

    .sq-match-row > .sq-row-primary {
        grid-area: primary;
        display: flex;
        align-items: center;
        justify-self: start;
        gap: 5px;
        min-width: 0;
    }

    .sq-match-row > .sq-row-extra {
        grid-area: extra;
        display: block;
        text-align: right;
        align-self: center;
        justify-self: end;
        font-size: 10px;
        color: #637892;
    }

    .sq-match-row > .sq-row-action {
        display: none;
    }

    .sq-page-calendario .sq-match-row > .sq-row-extra {
        display: none;
    }

    .sq-page-calendario .sq-match-row > .sq-row-primary {
        grid-column: 1 / -1;
    }

    .sq-page-calendario .sq-row-primary::before,
    .sq-page-resultados .sq-row-primary::before,
    .sq-page-calendario .sq-row-extra::before,
    .sq-page-resultados .sq-row-extra::before {
        content: none;
    }

    .sq-row-primary .sq-pending {
        padding: 3px 7px;
        font-size: 10px;
        background: #f1f4f8;
    }

    .sq-row-primary .sq-result-score {
        font-size: 14px;
        line-height: 1.2;
    }

    .competition-header {
        min-width: 0;
        gap: 8px;
    }

    .competition-heading,
    .competition-title {
        min-width: 0;
    }

    .competition-title strong {
        min-width: 0;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .footer {
        padding: 15px 17px;
    }
}

@media (max-width: 420px) {
    .competition-content .sq-match-row {
        grid-template-columns: 69px minmax(0,1fr);
        min-height: 53px;
        padding: 6px 9px;
        gap: 3px 7px;
    }

    .sq-match-row > .sq-row-hour {
        font-size: 9.5px;
        padding: 5px 6px;
    }

    .sq-row-partido .sq-team {
        gap: 3px;
    }

    .sq-row-partido .sq-team strong {
        font-size: 10px;
    }

    .sq-match-row .sq-row-crest,
    .sq-match-row .sq-row-crest img,
    .sq-match-row .sq-row-crest .crest-fallback {
        width: 20px;
        height: 20px;
    }

    .sq-match-row .sq-row-crest {
        flex-basis: 20px;
    }

    .sq-row-primary .sq-pending {
        font-size: 9px;
        padding: 3px 6px;
    }

    .competition-header {
        padding: 10px;
    }

    .footer .footer-links {
        gap: 9px 17px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .competition-group,
    .sq-match-row {
        transition: none;
    }
}
/* SPORTIQ_R072_PREMIUM_FILTER_V1 */

.toolbar .sq-filter-shell {
    position: relative;
    flex: 0 1 320px;
    min-width: 205px;
    max-width: 100%;
    z-index: 10;
}

.toolbar .sq-filter-shell > select {
    height: 44px;
    width: 100%;
    max-width: none;
}

.sq-filter-ui {
    display: none;
}

.sq-filter-shell.is-enhanced > select {
    display: none;
}

.sq-filter-shell.is-enhanced .sq-filter-ui {
    display: block;
}

.sq-filter-trigger {
    width: 100%;
    min-width: 0;
    height: 44px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 13px;
    border: 1px solid #dbe3ef;
    border-radius: 10px;
    background: #fff;
    color: #0C2354;
    text-align: left;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: border-color .16s, box-shadow .16s,
                background .16s;
}

.sq-filter-trigger:hover {
    background: #fcfdff;
    border-color: #b9c8de;
}

.sq-filter-trigger:focus-visible {
    outline: 2px solid #B99A58;
    outline-offset: 2px;
}

.sq-filter-shell.is-open .sq-filter-trigger {
    border-color: #b8a170;
    box-shadow: 0 0 0 3px rgba(185,154,88,.11);
}

.sq-filter-trigger-icon {
    width: 35px;
    min-width: 35px;
    height: 23px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    color: #58729a;
    overflow: hidden;
}

.sq-filter-current {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    min-width: 0;
    flex: 1;
}

.sq-filter-chevron {
    flex: none;
    color: #6f81a0;
    transition: transform .15s;
}

.sq-filter-shell.is-open .sq-filter-chevron {
    transform: rotate(180deg);
}

.sq-filter-list {
    position: absolute;
    z-index: 40;
    left: 0;
    right: 0;
    top: calc(100% + 7px);
    max-height: min(350px,55vh);
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #fff;
    border: 1px solid #dbe4ef;
    border-radius: 11px;
    padding: 5px;
    box-shadow: 0 14px 32px rgba(12,35,84,.17);
    scrollbar-width: thin;
    scrollbar-color: #bdcbe0 transparent;
}

.sq-filter-list[hidden] {
    display: none;
}

.sq-filter-option {
    appearance: none;
    width: 100%;
    min-height: 43px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #293d5c;
    text-align: left;
    font-size: 12px;
    cursor: pointer;
}

.sq-filter-option:hover,
.sq-filter-option:focus-visible {
    background: #f0f4fa;
    outline: none;
}

.sq-filter-option[aria-selected="true"] {
    background: #edf2fa;
    color: #0C2354;
    font-weight: 700;
}

.sq-filter-icons {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
    gap: 4px;
    min-width: 42px;
    height: 24px;
    color: #577296;
}

.sq-filter-icons .country-flag,
.sq-filter-icons .country-flag-img,
.sq-filter-trigger-icon .country-flag,
.sq-filter-trigger-icon .country-flag-img {
    width: 20px;
    height: 14px;
    min-width: 20px;
    object-fit: cover;
    flex: none;
}

.sq-filter-league-logo,
.sq-filter-trigger-icon .sq-filter-league-logo {
    width: 19px;
    height: 19px;
    object-fit: contain;
    flex: none;
}

.sq-filter-option-label {
    flex: 1;
    min-width: 0;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.sq-filter-tick {
    flex: none;
    opacity: 0;
    color: #B99A58;
}

.sq-filter-option[aria-selected="true"] .sq-filter-tick {
    opacity: 1;
}

.competition-header .competition-logo {
    background: #fff;
    padding: 2px;
    border-radius: 4px;
}

@media (max-width: 670px) {
    .toolbar .sq-filter-shell {
        flex: 1 1 100%;
        width: 100%;
        min-width: 0;
    }

    .toolbar .sq-filter-trigger {
        width: 100%;
        height: 44px;
    }

    .sq-filter-list {
        max-height: min(325px,52vh);
    }

    .sq-filter-option {
        min-height: 45px;
    }

    .toolbar .search-box {
        height: 44px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sq-filter-trigger,
    .sq-filter-chevron {
        transition: none;
    }
}
/* SPORTIQ R07.3 — Sidebar global único */
.sidebar{overflow-y:auto;overscroll-behavior:contain}
.sidebar .sq-h-brand-link{display:inline-flex;align-items:center;max-width:100%;text-decoration:none;color:inherit}
.sidebar .sq-h-brand-link .brand-img{display:block;transform:scale(.94);transform-origin:left center}
.sidebar .sq-h-brand-link:focus-visible{outline:2px solid rgba(185,154,88,.7);outline-offset:3px;border-radius:6px}
.sidebar .sq-h-side-generator{display:grid;grid-template-columns:30px minmax(0,1fr) 18px;align-items:center;gap:9px;width:100%;box-sizing:border-box;margin:17px 0 0;padding:10px 11px;min-height:51px;border:1px solid rgba(185,154,88,.30);border-radius:10px;background:linear-gradient(112deg,#214477,#14335f);color:#f4e3c0;box-shadow:0 4px 13px rgba(0,0,0,.11),inset 0 1px rgba(255,255,255,.055);cursor:pointer;text-align:left}
.sidebar .sq-h-side-generator:hover{border-color:rgba(185,154,88,.49);background:linear-gradient(112deg,#285085,#1a4075)}
.sidebar .sq-h-side-generator-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:rgba(185,154,88,.14);color:#ecd092}
.sidebar .sq-h-side-generator-arrow{display:grid;place-items:center;justify-self:end;color:#ecd092}
.sidebar .sq-h-side-generator svg{display:block;flex:none}
.sidebar .sq-h-side-generator-text{min-width:0;font-size:12px;font-weight:700;line-height:1.3;white-space:normal}
.sidebar .sq-sidebar-close{display:none}
.sq-h-modal{--sq-navy:#0c2354;--sq-gold:#b99a58;--sq-muted:#657895;--sq-border:#e1e8f2}
@media(max-width:1024px){
 .sidebar{width:min(320px,86vw);max-width:min(320px,86vw);flex-basis:auto;height:100dvh;z-index:1201;padding-bottom:max(20px,env(safe-area-inset-bottom))}
 .sidebar .sq-sidebar-close{display:grid;place-items:center;position:absolute;top:18px;right:15px;width:38px;height:38px;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer}
 .sidebar .brand{padding-right:48px}
 .scrim:not([hidden]){z-index:1200}
}
@media(max-width:600px){
 .sidebar{width:100vw;max-width:100vw}
 .sidebar .brand-img{max-width:158px;max-height:43px;width:auto;height:auto;transform:none}
 .sidebar .sq-h-side-generator{grid-template-columns:32px minmax(0,1fr) 20px;gap:11px;min-height:53px;padding:10px 12px}
 .sidebar .sq-h-side-generator-icon{width:32px;height:32px}
 .sidebar .sq-h-side-generator-text{font-size:13px}
}