/* QuinielaLab — Pronósticos fiables (página pública) */
.qlp-wrap { --g:#0a6e3c; --g2:#0d8a4a; --line:#e2e8e4; --ink:#1c2b23; max-width:820px; margin:0 auto; color:var(--ink); }

/* Estado "estamos trabajando" */
.qlp-working { text-align:center; padding:2.5rem 1rem; background:#f7faf8; border:1px dashed #bfe6cf; border-radius:14px; }
.qlp-working h3 { margin:.8rem 0 .3rem; font-size:1.25rem; color:var(--g); }
.qlp-working p { color:#4a5a51; max-width:440px; margin:0 auto; }
.qlp-spin { width:38px; height:38px; margin:0 auto; border:4px solid #d7ece0; border-top-color:var(--g); border-radius:50%; animation:qlp-rot 1s linear infinite; }
@keyframes qlp-rot { to { transform:rotate(360deg); } }

.qlp-head { display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; margin-bottom:1rem; }
.qlp-title { margin:0; font-size:1.45rem; }
.qlp-free { margin:.2rem 0 0; font-size:.85rem; color:#6b7c72; }
.qlp-cta { display:inline-block; background:var(--g); color:#fff !important; text-decoration:none;
	padding:.7rem 1.2rem; border-radius:10px; font-weight:700; white-space:nowrap; }
.qlp-cta:hover { background:#085a31; }
.qlp-intro { background:#f2f8f4; border:1px solid #cfe6d8; border-radius:10px; padding:.8rem 1rem; }

/* Picks fiables */
.qlp-picks { margin:1rem 0; }
.qlp-picks-lbl { font-size:.8rem; color:#6b7c72; text-transform:uppercase; letter-spacing:.04em; font-weight:700; }
.qlp-picks-row { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.5rem; }
.qlp-pick { display:flex; flex-direction:column; align-items:center; gap:.2rem; background:#fff;
	border:1px solid #cfe6d8; border-radius:10px; padding:.5rem .7rem; min-width:92px; }
.qlp-pick-teams { font-size:.75rem; color:#4a5a51; text-align:center; }
.qlp-pick-sign { font-weight:800; color:var(--g); letter-spacing:.12em; font-size:1.05rem; }

.qlp-list { list-style:none; margin:1rem 0; padding:0; }
.qlp-match { border-top:1px solid var(--line); padding:.7rem 0; }
.qlp-match:first-child { border-top:0; }
.qlp-match-head { display:flex; align-items:center; gap:.55rem; flex-wrap:wrap; }
.qlp-n { width:1.6rem; height:1.6rem; border-radius:50%; background:var(--g); color:#fff;
	display:flex; align-items:center; justify-content:center; font-size:.8rem; font-weight:700; flex:0 0 auto; }
.qlp-teams { font-weight:600; flex:1 1 auto; }
.qlp-conf { font-size:.68rem; font-weight:700; padding:.12rem .5rem; border-radius:999px; text-transform:uppercase; }
.qlp-conf-alta { background:#eafaf1; color:#0a6e3c; }
.qlp-conf-media { background:#fff6e6; color:#8a6100; }
.qlp-conf-baja { background:#fdecec; color:#a12; }
.qlp-signos { font-weight:800; color:var(--g); letter-spacing:.12em; }
.qlp-bar { display:flex; height:1.4rem; border-radius:6px; overflow:hidden; margin:.4rem 0; font-size:.72rem; color:#fff; font-weight:700; }
.qlp-bar span { display:flex; align-items:center; justify-content:center; }
.qlp-b1 { background:#0a6e3c; }
.qlp-bx { background:#8a8f8b; }
.qlp-b2 { background:#b4791d; }
.qlp-resumen { margin:.3rem 0 0; font-size:.9rem; color:#4a5a51; }

.qlp-pleno { background:#fff6e6; border:1px solid #f0dca6; border-radius:10px; padding:.7rem 1rem; margin:1rem 0; }
.qlp-foot { text-align:center; margin-top:1.5rem; }
.qlp-note { font-size:.85rem; color:#6b7c72; margin-top:.6rem; }
.qlp-legal { font-size:.78rem; color:#8a948d; margin-top:.4rem; }

/* Navegación / volver a la actual */
.qlp-nav { margin:.2rem 0 .8rem; }
.qlp-nav a { color:var(--g); text-decoration:none; font-weight:600; }

/* Comparación con el resultado real */
.qlp-compare { display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap;
	background:#f2f8f4; border:1px solid #cfe6d8; border-radius:12px; padding:.8rem 1rem; margin-bottom:1rem; }
.qlp-compare-lbl { display:block; font-size:.72rem; color:#6b7c72; text-transform:uppercase; letter-spacing:.04em; margin-bottom:.3rem; }
.qlp-rchip { width:1.5rem; height:1.5rem; display:inline-flex; align-items:center; justify-content:center;
	background:#fff; border:1px solid #cfe6d8; border-radius:5px; font-weight:800; font-size:.8rem; color:var(--ink); margin-right:.15rem; }
.qlp-compare-acc { text-align:center; }
.qlp-acc-num { display:block; font-size:1.6rem; font-weight:800; color:var(--g); line-height:1; }
.qlp-acc-lbl { display:block; font-size:.72rem; color:#6b7c72; }

/* Marca de acierto/fallo por partido */
.qlp-real { font-size:.78rem; font-weight:800; padding:.12rem .45rem; border-radius:6px; }
.qlp-real.hit { background:#eafaf1; color:#0a6e3c; }
.qlp-real.miss { background:#fdecec; color:#a12; }

/* Histórico de jornadas anteriores */
.qlp-hist { margin:1.4rem 0 .5rem; }
.qlp-hist-lbl { font-size:.8rem; color:#6b7c72; text-transform:uppercase; letter-spacing:.04em; font-weight:700; }
.qlp-hist-row { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.5rem; }
.qlp-hist-link { display:flex; flex-direction:column; background:#fff; border:1px solid var(--line);
	border-radius:10px; padding:.5rem .8rem; text-decoration:none; color:var(--ink); font-weight:600; }
.qlp-hist-link:hover { border-color:var(--g); }
.qlp-hist-link small { color:#8a948d; font-weight:400; font-size:.72rem; }

@media (max-width:560px){
	.qlp-head { flex-direction:column; align-items:flex-start; }
}
