.cal-top { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; margin-bottom: 24px; }
  .cal-top h1 { margin: 0 0 4px; font-size: 1.7rem; }
  .cal-top p { margin: 0; color: var(--muted); font-size: .9rem; }

  .calendar-tools { display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:12px;align-items:start;margin-bottom:12px; }
  .calendar-search { position:relative; }
  .search-field { display:flex;align-items:center;gap:10px;min-height:48px;padding:0 14px;background:var(--surface-raised);border:1px solid var(--line);border-radius:12px; }
  .search-field:focus-within { border-color:var(--green);box-shadow:0 0 0 3px rgba(84,227,142,.1); }
  .search-field input { width:100%;border:0;outline:0;background:transparent;color:var(--ink);font:inherit; }
  .search-field button { display:none;border:0;background:transparent;color:var(--muted);font-size:1.15rem;cursor:pointer; }
  .search-field button.visible { display:block; }
  .search-results { position:absolute;z-index:20;top:calc(100% + 7px);left:0;right:0;max-height:390px;overflow:auto;padding:7px;background:var(--surface-raised);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 35px rgba(0,0,0,.32); }
  .search-results[hidden] { display:none; }
  .search-heading { padding:8px 10px 5px;color:var(--muted);font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em; }
  .search-option { display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:var(--ink);text-align:left;cursor:pointer; }
  .search-option:hover,.search-option:focus { outline:0;background:rgba(84,227,142,.09); }
  .search-option span { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
  .search-option small { color:var(--muted);font-size:.65rem; }
  .search-empty { padding:15px 10px;color:var(--muted);font-size:.78rem; }
  .date-picker { display:flex;align-items:center;gap:9px;min-height:48px;padding:0 12px;background:var(--surface-raised);border:1px solid var(--line);border-radius:12px;color:var(--muted); }
  .date-picker input { border:0;outline:0;background:transparent;color:var(--ink);font:inherit;color-scheme:dark; }
  .calendar-filters { display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:0 0 14px; }
  .calendar-filter-group { display:flex;align-items:center;gap:6px;padding:5px;border:1px solid var(--line);border-radius:12px;background:rgba(16,26,23,.76); }
  .calendar-filter-group > span { padding:0 7px;color:var(--muted);font-size:.65rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em; }
  .status-filter { min-height:35px;padding:0 11px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);font-size:.7rem;font-weight:800;cursor:pointer; }
  .status-filter:hover,.status-filter:focus-visible { color:var(--ink);outline:0; }
  .status-filter.active { border-color:rgba(84,227,142,.35);background:rgba(84,227,142,.12);color:var(--green); }
  .hour-filter label { display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.67rem; }
  .hour-filter input { width:88px;min-height:35px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--ink);color-scheme:dark; }
  .clear-display-filters { min-height:35px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--muted);font-size:.67rem;font-weight:800;cursor:pointer; }
  .clear-display-filters:hover { border-color:var(--green);color:var(--green); }
  .clear-display-filters[hidden] { display:none; }
  .active-filter { display:none;align-items:center;gap:8px;margin:-2px 0 12px;color:var(--muted);font-size:.75rem; }
  .active-filter.visible { display:flex; }
  .active-filter strong { color:var(--ink); }
  .active-filter button { border:0;background:transparent;color:var(--green);cursor:pointer; }

  .quick-dates { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 14px; margin-bottom: 18px; }
  .chip { flex: 0 0 auto; background: var(--surface-raised); color:var(--ink); border: 1px solid var(--line); border-radius: 12px; padding: 9px 14px; cursor: pointer; text-align: center; min-width: 78px;font:inherit; }
  .chip:hover { border-color: var(--green); }
  .chip.active { background: var(--green-dark); border-color: var(--green); }
  .chip .dow { display: block; font-size: .7rem; color: var(--muted); text-transform: uppercase; }
  .chip.active .dow { color: rgba(255,255,255,.85); }
  .chip .dnum { display: block; font-size: 1.15rem; font-weight: 700; }
  .chip .badge-n { display: block; font-size: .66rem; color: var(--green); }
  .chip.active .badge-n { color: #fff; }

  .liga-group { background: var(--surface-raised); border: 1px solid var(--line); border-radius: 14px; margin-bottom: 16px; overflow: hidden; }
  .league-list-tools { display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px;padding:0 2px;color:var(--muted);font-size:.7rem; }
  .league-list-actions { display:flex;gap:7px; }
  .league-list-actions button { min-height:34px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface-raised);color:var(--ink);font:inherit;font-weight:750;cursor:pointer; }
  .league-list-actions button:hover,.league-list-actions button:focus-visible { border-color:var(--green);outline:0; }
  .liga-head { background: var(--surface-soft); padding: 11px 18px; font-weight: 600; display: flex; justify-content: space-between; align-items: center;cursor:pointer;list-style:none; }
  .liga-head::-webkit-details-marker { display:none; }
  .liga-title { display:flex;align-items:center;gap:9px;min-width:0; }
  .liga-title::before { content:'\203A';color:var(--green);font-size:1.3rem;line-height:1;transition:transform .15s; }
  .liga-group[open] .liga-title::before { transform:rotate(90deg); }
  .liga-name { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
  .liga-meta { display:flex;align-items:center;gap:12px;flex:0 0 auto; }
  .liga-count { min-width:28px;padding:3px 7px;border:1px solid var(--line);border-radius:999px;color:var(--ink);font-size:.65rem;text-align:center; }
  .liga-head .pais { font-size: .78rem; color: var(--muted); font-weight: 400; }

  .match { display: grid; grid-template-columns: 62px 1fr auto 1fr auto; align-items: center; gap: 12px; padding: 13px 18px; border-top: 1px solid var(--line); cursor: pointer; transition: background .15s; }
  .match:hover { background: rgba(84,227,142,.07); }
  .match .hora { font-size: .82rem; color: var(--muted); }
  .match .estado-live { color: var(--green); font-weight: 700; }
  .equipo { display: flex; align-items: center; gap: 9px; min-width: 0; }
  .equipo.der { flex-direction: row-reverse; text-align: right; }
  .equipo img { width: 24px; height: 24px; object-fit: contain; flex-shrink: 0; }
  .equipo span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .marcador { font-weight: 700; font-size: 1.05rem; background: var(--surface-soft); border-radius: 8px; padding: 4px 12px; min-width: 58px; text-align: center; }
  .marcador.live { border:1px solid rgba(84,227,142,.35);background:rgba(84,227,142,.1);color:var(--green); }
  .marcador.vs { color: var(--muted); font-weight: 400; font-size: .8rem; background: transparent; }
  .marcador .penales { display:block;font-size:.66rem;font-weight:600;line-height:1.3;margin-top:2px;color:var(--muted);white-space:nowrap; }
  .match-actions { display: flex; align-items: center; gap: 6px; }
  .btn-quick-compare { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 9px; background: rgba(84,227,142,.08); color: var(--green); font-size: .88rem; text-decoration: none; transition: all .15s ease; cursor: pointer; }
  .btn-quick-compare:hover { border-color: var(--green); background: rgba(84,227,142,.22); }
  .favorite-match { width:36px;height:36px;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft);color:var(--muted);font-size:1.05rem;cursor:pointer; }
  .favorite-match:hover,.favorite-match.active { border-color:var(--green);color:var(--green); }
  .match-shell { border-top:1px solid var(--line); }.match-shell .match { border-top:0; }
  .match-picks { padding:0 18px 12px 92px; }.pick-loading { color:var(--muted);font-size:.65rem; }
  .calendar-picks { border:1px solid rgba(84,227,142,.2);border-radius:11px;background:rgba(84,227,142,.045);overflow:hidden; }
  .calendar-picks summary { display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:9px 11px;cursor:pointer;list-style:none; }.calendar-picks summary::-webkit-details-marker{display:none}.calendar-picks summary::before{content:'★';color:var(--green)}
  .pick-best { min-width:0;overflow:hidden;font-size:.7rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap; }.pick-score { color:var(--green);font-size:.78rem;font-weight:900; }.pick-toggle { color:var(--muted);font-size:.6rem; }.calendar-picks[open] .pick-toggle::after{content:'Cerrar'}.calendar-picks:not([open]) .pick-toggle::after{content:'Ver top 5'}
  .pick-list { display:grid;gap:6px;padding:0 10px 10px; }.pick-row { display:grid;grid-template-columns:22px minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:8px;border-radius:9px;background:var(--surface-raised);font-size:.66rem; }.pick-rank { color:var(--muted);text-align:center; }.pick-copy { min-width:0; }.pick-copy strong,.pick-copy small{display:block}.pick-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pick-copy small{margin-top:2px;color:var(--muted)}.pick-percent{font-size:.75rem}.save-calendar-pick{min-height:34px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--ink);font-size:.6rem;font-weight:800;cursor:pointer}.save-calendar-pick:hover{border-color:var(--green)}.save-calendar-pick.saved{color:var(--green)}
  .pick-footer-actions { display:flex;gap:8px;flex-wrap:wrap;margin-top:6px; }
  .pick-footer-actions a { flex:1;text-align:center;text-decoration:none;display:flex;align-items:center;justify-content:center; }
  .compare-pick-btn { border-color:rgba(84,227,142,.35)!important;background:rgba(84,227,142,.1)!important;color:var(--green)!important;font-weight:850!important; }
  .compare-pick-btn:hover { background:var(--green)!important;color:#07100d!important; }
  .daily-picks { display:none;margin-bottom:18px;padding:16px;border:1px solid rgba(84,227,142,.25);border-radius:15px;background:linear-gradient(135deg,rgba(84,227,142,.08),var(--surface-raised)); }.daily-picks.visible{display:block}.daily-picks-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px}.daily-picks h2{margin:0;font-size:1rem}.daily-picks p{margin:4px 0 0;color:var(--muted);font-size:.68rem}.daily-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.daily-card{padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink);text-decoration:none}.daily-card span,.daily-card strong,.daily-card small{display:block}.daily-card span{overflow:hidden;color:var(--muted);font-size:.58rem;text-overflow:ellipsis;white-space:nowrap}.daily-card strong{margin:7px 0 4px;font-size:.7rem}.daily-card small{color:var(--green);font-weight:900}

  .vacio { text-align: center; padding: 48px 20px; color: var(--muted); background: var(--surface-raised); border: 1px solid var(--line); border-radius: 14px; }
  .vacio strong { display: block; color: var(--ink); font-size: 1.05rem; margin-bottom: 8px; }
  .vacio a { color: var(--green); }

  @media(max-width:700px) {
    .cal-top { align-items:flex-start;flex-direction:column;gap:12px; }
    .calendar-tools { grid-template-columns:1fr; }
    .calendar-filters,.calendar-filter-group { width:100%; }
    .calendar-filter-group { overflow-x:auto; }
    .status-filter { flex:1;white-space:nowrap; }
    .hour-filter { justify-content:space-between;overflow:visible; }
    .date-picker { width:100%; }
    .date-picker input { width:100%;min-height:44px; }
    .quick-dates { scroll-snap-type:x proximity; }
    .chip { min-height:60px;scroll-snap-align:start; }
    .match { grid-template-columns:50px minmax(0,1fr) auto auto;padding:13px 12px;gap:8px; }
    .match .hora { grid-row:1 / span 2; }
    .equipo,.equipo.der { grid-column:2;flex-direction:row;text-align:left; }
    .marcador { grid-column:3;grid-row:1 / span 2; }
    .match-actions { grid-column:4;grid-row:1 / span 2; flex-direction:column; gap:4px; }
    .liga-head { padding-inline:12px;gap:8px; }
    .league-list-tools { align-items:flex-start;flex-direction:column; }
    .league-list-actions { width:100%; }
    .league-list-actions button { flex:1; }
    .liga-meta { gap:7px; }.liga-head .pais { display:none; }
    .match-picks{padding:0 12px 12px}.daily-grid{display:flex;overflow:auto;scroll-snap-type:x proximity}.daily-card{flex:0 0 210px;scroll-snap-align:start}.pick-row{grid-template-columns:20px minmax(0,1fr) auto}.save-calendar-pick{grid-column:2/-1;width:100%}
  }
  @media(max-width:380px) {
    .match { grid-template-columns:minmax(0,1fr) auto auto; }
    .match .hora { grid-column:1/-1;grid-row:auto; }
    .equipo,.equipo.der { grid-column:1; }
    .marcador { grid-column:2;grid-row:2 / span 2; }
    .match-actions { grid-column:3;grid-row:2 / span 2; flex-direction:column; gap:4px; }
    .calendar-picks summary{grid-template-columns:auto minmax(0,1fr) auto}.pick-toggle{grid-column:2}.pick-score{grid-column:3;grid-row:1 / span 2}
  }
