:root{--bg:#07101d;--panel:#0d1929;--panel2:#111f31;--text:#f4f7fb;--muted:#8fa1b7;--line:rgba(255,255,255,.09);--accent:#a7ff36;--cyan:#3ddcff;--warn:#ffce42;--danger:#ff5e78}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(800px 450px at 15% -10%,rgba(43,118,255,.18),transparent 60%),var(--bg);color:var(--text);font-family:Inter,system-ui,Segoe UI,sans-serif}button,input{font:inherit;color:inherit}a{color:inherit;text-decoration:none}.topbar{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,4vw,58px);position:sticky;top:0;z-index:50;background:rgba(7,16,29,.9);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:38px;height:38px;border-radius:12px;background:var(--accent);color:#07101d;display:grid;place-items:center;font-weight:900}.top-actions{display:flex;gap:8px}.ghost-btn,.icon-btn,.nav-arrow,.week-pill,.filter,.main-tab,.result-filter,.standing-filter{background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:12px;cursor:pointer}.ghost-btn{padding:10px 13px}.icon-btn{width:42px}main{width:min(1240px,calc(100% - 32px));margin:auto}.hero{min-height:360px;display:grid;grid-template-columns:1.4fr .6fr;align-items:center;gap:34px}.eyebrow{margin:0 0 10px;color:var(--accent);font-size:11px;font-weight:900;letter-spacing:.15em}h1{margin:0;font-size:clamp(50px,7vw,88px);line-height:.9;letter-spacing:-.06em}h1 span{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.35)}.hero-text{color:var(--muted);font-size:17px}.update-line{font-size:11px;color:var(--muted)}.next-card{padding:23px;border:1px solid var(--line);border-radius:21px;background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.015))}.next-head{font-size:10px;letter-spacing:.12em;color:var(--muted);font-weight:900}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-right:8px}.next-sport{color:var(--accent);font-size:11px;font-weight:900;margin-top:22px}.next-title{font-size:24px;margin:8px 0}.next-meta{font-size:12px;color:var(--muted);line-height:1.6}
.main-tabs{display:flex;gap:8px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.main-tab{padding:11px 17px;color:var(--muted)}.main-tab.active{background:var(--text);color:#07101d;border-color:var(--text);font-weight:900}.view{display:none;padding:24px 0 60px}.view.active{display:block}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:30px}.week-nav,.filters{display:flex;gap:8px;align-items:center}.nav-arrow{width:44px;height:44px}.week-pill{min-width:170px;padding:7px 14px;display:flex;flex-direction:column}.week-pill small{color:var(--muted);font-size:9px}.filter,.result-filter,.standing-filter{padding:10px 13px;color:var(--muted);white-space:nowrap}.filter.active,.result-filter.active,.standing-filter.active{border-color:var(--accent);color:var(--accent)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:12px 0 22px}.section-head h2,.source-panel h2{margin:0;font-size:32px;letter-spacing:-.04em}.search{width:min(350px,100%);padding:12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:13px}.day-group{margin:24px 0}.day-title{display:flex;gap:12px;align-items:center;text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.08em}.day-title:after{content:"";height:1px;flex:1;background:var(--line)}
.event{display:grid;grid-template-columns:95px 145px 1fr 190px 105px;gap:15px;align-items:center;margin:8px 0;padding:16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025)}.event.finished{opacity:.88}.event-time{font-size:21px;font-weight:900}.event-time small{display:block;color:var(--muted);font-size:9px}.badge{width:max-content;border:1px solid var(--line);border-radius:999px;padding:6px 9px;color:var(--muted);font-size:9px;font-weight:900}.event-main strong{display:block}.event-main small{color:var(--muted)}.score{font-size:23px;font-weight:900;letter-spacing:.04em}.tv{font-size:11px}.tv:before{content:"TV ";color:var(--accent);font-weight:900}.state{text-align:right;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.07em}.state.live,.state.next{color:var(--accent)}
.data-card{border:1px solid var(--line);border-radius:18px;background:var(--panel);overflow:hidden}.data-table{width:100%;border-collapse:collapse;min-width:700px}.data-table th,.data-table td{padding:13px 15px;border-bottom:1px solid var(--line);text-align:left;font-size:12px}.data-table th{color:var(--muted);text-transform:uppercase;font-size:9px;letter-spacing:.08em}.data-table tr:first-child td{font-weight:800}.pos{font-weight:900;color:var(--accent)}.result-cards{display:grid;gap:9px}.result-row{display:grid;grid-template-columns:90px 1fr 150px 120px;gap:15px;padding:15px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.025)}.official-tag{font-size:9px;color:var(--accent);font-weight:900}.empty{padding:45px;border:1px dashed var(--line);border-radius:18px;text-align:center;color:var(--muted)}.source-panel{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:44px 0}.source-panel p{color:var(--muted)}.source-links{display:flex;gap:10px;flex-wrap:wrap}.source-links a{padding:13px;border:1px solid var(--line);border-radius:13px;font-size:12px}footer{border-top:1px solid var(--line);padding:22px clamp(16px,4vw,58px);display:flex;justify-content:space-between;color:var(--muted);font-size:11px}
body.light{--bg:#eef2f6;--panel:#fff;--panel2:#f6f8fb;--text:#111824;--muted:#667386;--line:rgba(10,20,35,.12);background:#eef2f6}.light .topbar{background:rgba(238,242,246,.9)}.light h1 span{-webkit-text-stroke-color:rgba(0,0,0,.25)}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding:40px 0}.toolbar,.section-head{align-items:flex-start;flex-direction:column}.filters{width:100%;overflow:auto}.event{grid-template-columns:80px 130px 1fr}.tv{grid-column:2/4}.state{grid-column:3;text-align:left}.source-panel{grid-template-columns:1fr}.result-row{grid-template-columns:75px 1fr}.result-row>*:nth-child(n+3){grid-column:2}}
@media(max-width:600px){main{width:calc(100% - 22px)}.brand>span:last-child,.ghost-btn span{display:none}.main-tabs{overflow:auto}.event{grid-template-columns:68px 1fr}.badge,.event-main,.score,.tv,.state{grid-column:2}.section-head h2{font-size:28px}}

/* v3.1: resultados y navegación optimizados para pantallas táctiles */
.data-card>div{scrollbar-width:thin;scrollbar-color:var(--accent) var(--panel2);-webkit-overflow-scrolling:touch}
.result-row{grid-template-columns:110px minmax(190px,1fr) 150px 150px;align-items:center}
.result-date{color:var(--muted);font-size:11px;text-transform:uppercase}
.result-match strong{display:block}
.official-tag{margin-top:4px}
.result-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:9px;text-align:center}
.result-score small{color:var(--muted);font-size:8px;letter-spacing:.08em}
.result-tv{font-size:11px;color:var(--muted)}
.result-tv span{color:var(--accent);font-weight:900}

@media(max-width:900px){
  .filters{overflow-x:auto;padding-bottom:3px;scrollbar-width:thin}
  .result-row{grid-template-columns:95px minmax(0,1fr) 135px}
  .result-row>*:nth-child(n){grid-column:auto}
  .result-tv{grid-column:2/4}
}

@media(max-width:600px){
  .topbar{height:62px}
  .hero{min-height:auto;padding:34px 0}
  .hero h1{font-size:clamp(46px,16vw,64px)}
  .main-tabs{overflow-x:auto;position:sticky;top:62px;z-index:40;background:var(--bg)}
  .main-tab{flex:0 0 auto}
  .view{padding-top:18px}
  .result-cards{gap:12px}
  .result-row{grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:14px}
  .result-date{grid-column:1/3;font-size:10px}
  .result-match{grid-column:1;min-width:0}
  .result-match strong{font-size:15px;line-height:1.3}
  .result-score{grid-column:2;grid-row:2;min-width:112px;font-size:22px}
  .result-tv{grid-column:1/3;padding-top:9px;border-top:1px solid var(--line)}
  .data-card{position:relative}
  .data-card:after{content:"Desliza para ver más →";display:block;position:sticky;left:0;padding:8px 12px;background:var(--panel2);color:var(--muted);font-size:9px;letter-spacing:.04em}
  .data-table th,.data-table td{padding:12px 11px;white-space:nowrap}
  .empty{padding:30px 18px}
}

/* v4.6: tarjetas de fuentes con logotipos */
.source-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.source-links .source-brand{display:flex;min-height:112px;padding:14px;flex-direction:column;justify-content:space-between;gap:14px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015));overflow:hidden}
.source-logo{position:relative;display:flex;align-items:center;justify-content:center;min-height:54px;padding:8px;border-radius:10px;background:rgba(255,255,255,.035)}
.source-logo img{position:relative;z-index:2;display:block;width:auto;max-width:100%;height:38px;object-fit:contain}
.logo-fallback{position:absolute;z-index:1;color:var(--text);font-size:16px;font-weight:900;letter-spacing:.04em}
.source-logo.text-only .logo-fallback{position:static;color:var(--accent);font-size:21px;letter-spacing:.08em}

/* v4.6.2: día actual destacado */
.day-group.is-today{margin-inline:-10px;padding:12px 10px;border:1px solid rgba(167,255,54,.38);border-radius:18px;background:linear-gradient(135deg,rgba(167,255,54,.075),rgba(61,220,255,.025));box-shadow:0 0 0 1px rgba(167,255,54,.035),0 12px 35px rgba(0,0,0,.12)}
.day-group.is-today .day-title{color:var(--text)}
.day-group.is-today .day-title:after{background:linear-gradient(90deg,rgba(167,255,54,.55),var(--line))}
.today-chip{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:var(--accent);color:#07101d;font-size:9px;font-weight:950;letter-spacing:.1em}
.day-group.is-today .event{border-color:rgba(167,255,54,.2);background:rgba(167,255,54,.035)}
@media(max-width:600px){.day-group.is-today{margin-inline:-5px;padding:10px 5px;border-radius:16px}.today-chip{padding:4px 7px}}
.source-brand.laliga .source-logo img,.source-brand.motogp .source-logo img{filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}
.source-brand>span:last-child{font-weight:700}
@media(max-width:600px){.source-links{grid-template-columns:repeat(2,minmax(0,1fr))}.source-links .source-brand{min-height:105px;padding:12px}.source-logo img{height:32px}}

.date-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.date-jump{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;font-weight:700;white-space:nowrap}
.date-jump input{min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);color-scheme:dark}
.light .date-jump input{color-scheme:light}
@media(max-width:600px){.date-controls{width:100%}.date-jump{width:100%}.date-jump input{flex:1;min-width:0}}
.sync-btn{border-color:rgba(167,255,54,.35);color:var(--accent)}
.sync-btn.syncing{opacity:.7;cursor:wait}
.sync-btn.syncing:first-letter{animation:spin .8s linear infinite}
.sync-btn:disabled{pointer-events:none}
.sync-feedback{min-height:18px;margin-top:7px;color:var(--accent);font-size:11px}
@keyframes spin{to{transform:rotate(360deg)}}

/* v4.5: marcador y canal visibles simultáneamente */
.event-main{min-width:0}
.event-main small{display:block}
.agenda-result{display:flex;width:max-content;max-width:100%;align-items:center;gap:7px;margin-top:9px;padding:6px 9px;border-radius:8px;background:rgba(101,190,44,.24);color:var(--accent);font-size:12px;line-height:1}
.agenda-result b{font-size:8px;letter-spacing:.08em}
.agenda-result.pending{background:rgba(255,255,255,.055);color:var(--muted)}
.event-channel{display:flex;align-items:flex-start;gap:6px;min-width:0;line-height:1.35}
.event-channel:before{content:none}
.event-channel b{flex:0 0 auto;color:var(--accent);font-size:9px}
.event-channel span{min-width:0;overflow-wrap:anywhere}

@media(max-width:600px){
  .event{grid-template-columns:72px minmax(0,1fr);gap:9px 12px;padding:14px}
  .event-time{grid-column:1;grid-row:1/3;align-self:start;font-size:20px}
  .event-time small{font-size:8px;line-height:1.25}
  .event .badge{grid-column:2;grid-row:1}
  .event .event-main{grid-column:2;grid-row:2}
  .event .event-channel{grid-column:1/3;grid-row:3;padding-top:10px;border-top:1px solid var(--line);font-size:12px}
  .event .state{grid-column:1/3;grid-row:4;text-align:left}
  .agenda-result{padding:7px 9px;font-size:13px}
  .result-tv{font-size:12px;line-height:1.4;overflow-wrap:anywhere}
}

/* v4.7.1 · destacados españoles en Champions */
.event.spanish-team,.result-row.spanish-team{border-color:rgba(255,196,0,.48);background:linear-gradient(90deg,rgba(198,18,36,.12),rgba(255,196,0,.055) 45%,rgba(255,255,255,.025));box-shadow:inset 3px 0 0 rgba(255,196,0,.9)}
.spanish-chip{display:inline-flex;align-items:center;width:max-content;margin:6px 0 2px;padding:4px 7px;border:1px solid rgba(255,196,0,.42);border-radius:999px;background:rgba(198,18,36,.15);font-size:9px;font-weight:900;letter-spacing:.05em;color:#ffd85a}
body.light .event.spanish-team,body.light .result-row.spanish-team{background:linear-gradient(90deg,rgba(198,18,36,.08),rgba(255,196,0,.09) 45%,rgba(255,255,255,.8))}
body.light .spanish-chip{color:#8a5500}

/* v4.7.2 · resultados móviles perfectamente alineados */
@media(max-width:600px){
  #view-results .result-row{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:9px;
    padding:14px 15px;
    align-items:stretch;
  }
  #view-results .result-date{
    grid-column:1;
    grid-row:1;
    width:100%;
    font-size:10px;
    line-height:1.2;
  }
  #view-results .result-match{
    grid-column:1;
    grid-row:2;
    width:100%;
    min-width:0;
    text-align:left;
  }
  #view-results .result-match strong{
    display:block;
    width:100%;
    font-size:15px;
    line-height:1.35;
    overflow-wrap:anywhere;
  }
  #view-results .official-tag{
    margin-top:5px;
  }
  #view-results .result-score{
    grid-column:1;
    grid-row:3;
    width:100%;
    min-width:0;
    grid-template-columns:minmax(42px,1fr) auto minmax(42px,1fr);
    gap:10px;
    padding:9px 12px;
    border-radius:10px;
    background:rgba(255,255,255,.035);
    font-size:24px;
    line-height:1;
    text-align:center;
  }
  #view-results .result-score span{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    font-variant-numeric:tabular-nums;
  }
  #view-results .result-score small{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:42px;
  }
  #view-results .result-tv{
    grid-column:1;
    grid-row:4;
    width:100%;
    margin:0;
    padding-top:9px;
    border-top:1px solid var(--line);
    text-align:left;
    line-height:1.4;
  }
  #view-results .result-row.spanish-team{
    box-shadow:inset 3px 0 0 rgba(255,196,0,.9);
  }
}
