@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');
:root{--ink:#101828;--muted:#667085;--line:#e7eaf0;--surface:#fff;--canvas:#f7f8fb;--blue:#315cf5;--blue-dark:#1837b5;--mint:#d9f8e8;--green:#087443;--amber:#9b5d00;--navy:#0c1634;--shadow:0 18px 50px rgba(16,24,40,.08)}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--canvas);font-family:'DM Sans',system-ui,sans-serif;font-size:16px}.site-header{height:76px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink);font-family:'Space Grotesk',sans-serif;font-size:21px;font-weight:700;letter-spacing:-.04em}.brand-mark{display:grid;place-items:center;width:39px;height:39px;background:var(--navy);color:#fff;border-radius:12px;font-size:14px;letter-spacing:-.08em}.brand-name{color:var(--blue)}.header-meta{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.live-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px #e3f9ec}.page-shell{max-width:1240px;margin:0 auto;padding:0 24px 72px}.hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:42px;padding:70px 0 55px;align-items:end}.eyebrow{margin:0 0 12px;color:var(--blue);font-size:11px;font-weight:700;letter-spacing:.14em}.hero h1{margin:0;font-family:'Space Grotesk',sans-serif;font-size:clamp(42px,6vw,76px);line-height:.98;letter-spacing:-.065em}.hero h1 em{font-style:normal;color:var(--blue)}.hero-copy{max-width:670px;margin:24px 0 0;color:var(--muted);font-size:18px;line-height:1.55}.run-info{padding:20px 22px;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.run-info span,.run-info small{display:block;color:var(--muted);font-size:12px}.run-info strong{display:block;margin:9px 0 5px;font-family:'Space Grotesk';font-size:14px}.toolbar,.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin:0 0 22px}.toolbar h2,.section-heading h2{margin:0;font-family:'Space Grotesk';font-size:30px;letter-spacing:-.04em}.toolbar p,.section-heading p{margin:6px 0 0;color:var(--muted);font-size:14px}.toolbar-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.filter-btn,.format-toggle{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:10px 14px;font:600 13px inherit;cursor:pointer}.filter-btn.active{background:var(--navy);border-color:var(--navy);color:#fff}.format-toggle{color:var(--ink);margin-left:5px}.picks-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.pick-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow);min-width:0}.pick-topline{display:flex;justify-content:space-between;align-items:center;gap:12px}.sport-label{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.sport-icon{display:grid;place-items:center;width:32px;height:32px;background:#eef2ff;border-radius:10px;font-size:18px}.sport-icon:before{content:'◉'}.sport-icon[data-sport*='fut'],.sport-icon[data-sport*='soccer']{background:#e8f8ef}.sport-icon[data-sport*='fut']:before,.sport-icon[data-sport*='soccer']:before{content:'⚽'}.sport-icon[data-sport*='base'],.sport-icon[data-sport*='mlb']{background:#fff0ee}.sport-icon[data-sport*='base']:before,.sport-icon[data-sport*='mlb']:before{content:'⚾'}.sport-icon[data-sport*='tennis']{background:#fff8dc}.sport-icon[data-sport*='tennis']:before{content:'🎾'}.sport-icon[data-sport*='hockey']{background:#e5f5ff}.sport-icon[data-sport*='hockey']:before{content:'🏒'}.sport-icon[data-sport*='basket']{background:#fff0dc}.sport-icon[data-sport*='basket']:before{content:'🏀'}.sport-icon[data-sport*='football']{background:#f1eaff}.sport-icon[data-sport*='football']:before{content:'🏈'}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:700;letter-spacing:.05em;white-space:nowrap}.status-qualified{background:var(--mint);color:var(--green)}.status-preliminar{background:#fff3da;color:var(--amber)}.event-time{margin:22px 0 5px;font-family:'Space Grotesk';font-size:25px;font-weight:700;letter-spacing:-.04em}.league{color:var(--blue);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.pick-card h3{margin:8px 0 9px;font-family:'Space Grotesk';font-size:22px;line-height:1.14;letter-spacing:-.04em}.venue,.record-row{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:13px;line-height:1.4}.record-row{margin-top:5px}.mini-icon{color:var(--blue);font-weight:700}.pick-highlight{display:flex;justify-content:space-between;gap:16px;margin:22px 0 14px;padding:17px 16px;background:#f6f8ff;border:1px solid #e5eaff;border-radius:16px}.field-label{display:block;margin-bottom:5px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.1em}.pick-highlight strong{display:block;font-family:'Space Grotesk';font-size:20px;line-height:1.1}.market-name{display:block;margin-top:5px;color:var(--muted);font-size:12px}.odds-block{text-align:right;min-width:90px}.odds-block .odds-value{color:var(--blue);font-size:26px}.odds-source{display:block;margin-top:4px;max-width:110px;color:var(--muted);font-size:10px;line-height:1.15}.probability{display:flex;justify-content:space-between;align-items:center;padding:0 1px 15px;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px}.probability strong{color:var(--ink);font-family:'Space Grotesk';font-size:20px}.why-pick{padding-top:15px}.why-title{font-family:'Space Grotesk';font-size:14px;font-weight:700}.why-pick p{margin:7px 0 0;color:#475467;font-size:14px;line-height:1.5}.updated{margin-top:17px;color:#98a2b3;font-size:11px}.parlays-section{margin-top:72px}.premium-note{padding:8px 12px;background:#eeeafd;color:#5b3ac6;border-radius:999px;font-size:11px;font-weight:700}.parlays-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.parlay-card{padding:22px;border-radius:22px;background:var(--navy);color:#fff;box-shadow:0 20px 50px rgba(12,22,52,.18)}.parlay-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.parlay-badge{color:#aebcff;font-size:11px;font-weight:700;letter-spacing:.1em}.parlay-card h3{font-family:'Space Grotesk';font-size:20px;line-height:1.2;margin:20px 0}.legs{display:grid;gap:10px;padding-bottom:17px;border-bottom:1px solid rgba(255,255,255,.14)}.leg{display:flex;gap:10px;align-items:flex-start}.leg-number{display:grid;place-items:center;flex:none;width:23px;height:23px;border-radius:50%;background:#33447f;color:#dbe2ff;font-size:11px;font-weight:700}.leg strong{display:block;font-size:13px}.leg small{display:block;margin-top:3px;color:#aeb8da;font-size:11px;line-height:1.3}.parlay-stats{display:flex;gap:34px;margin-top:18px}.parlay-stats span{display:block;color:#aeb8da;font-size:10px;letter-spacing:.08em}.parlay-stats strong{display:block;margin-top:4px;font-family:'Space Grotesk';font-size:22px;color:#fff}.parlay-stats strong.parlay-odds{color:#9fb2ff}.empty-state{grid-column:1/-1;padding:54px 24px;text-align:center;background:var(--surface);border:1px dashed #cad1df;border-radius:22px}.empty-state.compact{padding:32px 22px;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.2);color:#fff}.empty-mark{font-size:38px;color:var(--blue)}.empty-state h3{margin:11px 0 7px;font-family:'Space Grotesk';font-size:22px}.empty-state p{max-width:530px;margin:0 auto;color:var(--muted);line-height:1.5;font-size:14px}.compact p{color:#aeb8da}.responsible{margin-top:72px;padding:20px 22px;border:1px solid var(--line);border-radius:18px;background:#fff}.responsible strong{font-family:'Space Grotesk';font-size:15px}.responsible p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.5}footer{padding:25px 24px 38px;color:#98a2b3;text-align:center;font-size:11px;border-top:1px solid var(--line)}
@media(max-width:980px){.picks-grid,.parlays-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1fr 260px}.hero h1{font-size:54px}}
@media(max-width:680px){.site-header{height:68px}.header-meta{font-size:11px}.header-meta span:last-child{display:none}.operator-link{font-size:10px}.page-shell{padding:0 16px 48px}.hero{display:block;padding:45px 0 38px}.hero h1{font-size:45px}.hero-copy{font-size:16px}.run-info{margin-top:26px}.toolbar,.section-heading{display:block}.toolbar-actions{margin-top:17px}.picks-grid,.parlays-grid{grid-template-columns:1fr}.pick-card{padding:18px}.event-time{font-size:24px}.pick-highlight{margin-top:18px}.premium-note{display:inline-block;margin-top:15px}}
.operator-link{color:var(--blue);text-decoration:none;font-weight:700;white-space:nowrap}

/* Barra de probabilidad estimada */
.probability{flex-direction:column;align-items:stretch;gap:6px}
.probability > span:first-child,.probability > strong{display:inline-block}
.prob-bar-track{width:100%;height:8px;background:#e9edf7;border-radius:999px;overflow:hidden}
.prob-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#3b6df0,#5b8cff);transition:width .3s ease}

/* Edge visible al usuario -- la senal real de valor, no la probabilidad sola */
.edge-row{display:flex;justify-content:space-between;align-items:center;padding:10px 1px;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px}
.edge-value{font-family:'Space Grotesk';font-size:18px;color:var(--muted)}
.edge-value.edge-positive{color:#1a9e5c}
.edge-value.edge-negative{color:#c2410c}
.pick-card.pick-value{border-color:#1a9e5c;box-shadow:0 0 0 2px rgba(26,158,92,.12),var(--shadow)}

/* Icono de liga (bandera + emoji deporte, sin usar escudos con marca registrada) */
.league-icon{display:inline-block;font-size:20px;margin-right:8px;vertical-align:middle;line-height:1}
.league{display:flex;align-items:center}

/* Barra de probabilidad dentro de tarjetas oscuras (parlays) */
.parlay-stats{align-items:flex-start}
.parlay-stats > div{display:flex;flex-direction:column;gap:6px}
.prob-bar-track-dark{width:100%;min-width:90px;height:6px;background:rgba(255,255,255,.18);border-radius:999px;overflow:hidden;margin-top:2px}
.prob-bar-track-dark .prob-bar-fill{height:100%;border-radius:999px}

/* Iconos reales de liga */
.league-icon-img{display:inline-block;width:26px;height:26px;object-fit:contain;margin-right:9px;vertical-align:middle;border-radius:6px;background:#fff;padding:2px;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.parlay-badge .league-icon-img{width:20px;height:20px;margin-right:6px}

/* Selectores de filtro (Deporte/Liga/Mercado) en la pagina publica */
.toolbar-actions select{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:9px 14px;font:600 13px inherit;cursor:pointer}

.leg-market{display:block;font-size:11px;color:#7a86ad;font-weight:600;text-transform:uppercase;letter-spacing:.02em;margin-top:1px}

.league-icon-initial{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--blue);color:#fff;font:700 12px 'Space Grotesk';margin-right:9px;vertical-align:middle}
.parlay-badge .league-icon-initial{width:20px;height:20px;font-size:10px;margin-right:6px}

.alt-line-badge{display:block;margin-top:4px;font-size:10px;font-weight:700;color:#b5790a;background:#fff3da;border-radius:6px;padding:3px 7px;width:fit-content}

/* Boton "Ver resultados reales" -- visible y facil de tocar en movil */
.results-link-btn{display:inline-flex;align-items:center;gap:6px;background:var(--ink);color:#fff;text-decoration:none;font-weight:700;font-size:14px;padding:12px 18px;border-radius:999px;white-space:nowrap;flex-shrink:0;transition:opacity .15s}
.results-link-btn:hover{opacity:.85}
@media (max-width: 640px){
  .results-link-btn{width:100%;justify-content:center;margin:12px 0}
}

/* Rediseño de la barra de filtros (21-sep-2026): antes eran 17 controles
   sueltos en 2 filas sin agrupar, encimados sobre todo en movil. Ahora se
   agrupan por tipo (Cuando / Deporte-liga-mercado / Probabilidad-calidad)
   con etiquetas, y en movil los grupos secundarios se colapsan detras de
   un boton "Mas filtros" -- ningun id, clase o atributo funcional se
   toco, solo el contenedor y el CSS.
   RECUPERADO el 28-sep-2026: se habia perdido por accidente al mandar el
   fix del monto de Kelly (25-sep-2026), que sin querer partió de una copia
   de customer.css anterior a este rediseño -- por eso los menus de filtro
   se veian "rotos" (sin agrupar, sin colapsar en movil). */
.toolbar{flex-wrap:wrap}
.filters-panel{flex-basis:100%;width:100%;display:flex;flex-direction:column;gap:16px;margin-top:18px}
.filter-group{display:flex;flex-direction:column;gap:9px}
.filter-group-label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.filters-toggle-btn{display:none;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:13px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);font:700 14px inherit;cursor:pointer}
.filters-toggle-chevron{transition:transform .2s ease;color:var(--muted)}
.filters-toggle-btn[aria-expanded="true"] .filters-toggle-chevron{transform:rotate(180deg)}
.filters-collapsible{display:flex;flex-direction:column;gap:16px}

@media(max-width:680px){
  .filters-toggle-btn{display:flex}
  .filters-collapsible{display:none}
  .filters-collapsible.open{display:flex}
  .filters-panel .toolbar-actions{width:100%}
  .filters-panel .toolbar-actions .filter-btn,
  .filters-panel .toolbar-actions .format-toggle{padding:12px 15px;font-size:13.5px}
  .filters-panel .toolbar-actions select{flex:1 1 45%;min-width:140px;padding:12px 14px}
  .filters-panel .filter-group:first-child .toolbar-actions{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}
  .filters-panel .filter-group:first-child .filter-btn{flex-shrink:0}
}

/* Monto sugerido (Kelly fraccionado) en la tarjeta de pick publica --
   mismo dato que ya se mostraba en resultados.html (el widget "¿Aposte
   esto?"), ahora tambien visible antes de apostar, no solo al calificar. */
.stake-row{display:flex;justify-content:space-between;align-items:center;padding:10px 1px;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px}
.stake-value{font-family:'Space Grotesk';font-size:16px;color:var(--blue);font-weight:700}
