/* ====================           Esto de abajo trabaja en el Header de Porcentajes de nuestra aplicacion                                         ==================== */
.app-header{
position: sticky;
top: 0;
z-index: 100;
background: linear-gradient(180deg, rgba(10,15,13,0.9) 0%, rgba(10,15,13,0.72) 100%);
padding-bottom: 2px;
}
.app-header .header-inner { padding-bottom: 2px; }
.app-header .brand-subtitle { line-height: 1.45; padding-bottom: 2px; }
.horarios-hero{
padding: 28px 32px 10px;
max-width: 1200px;
margin: 0 auto;
text-align: center;
}
.horarios-capsule{
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 0.78rem;
font-weight: 700;
letter-spacing: 0.03em;
color: var(--dorado-premium);
background: rgba(212,175,55,0.1);
border: 1px solid rgba(212,175,55,0.3);
padding: 8px 18px;
border-radius: 999px;
white-space: nowrap;
}
/* ====================                   Esto de abajo trabaja en el grid de Porcentajes de nuestra aplicacion                              ==================== */
.matches-section{
padding: 10px 32px 90px;
max-width: 1200px;
margin: 0 auto;
}
.matches-grid{
display: grid;
grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
gap: 22px;
}
/* ====================                     Esto de abajo trabaja en las tarjetas de Porcentajes de nuestra aplicacion                       ==================== */
.match-card{
position: relative;
background: linear-gradient(160deg, rgba(255,255,255,0.09), rgba(255,255,255,0.03));
border: 1px solid var(--glass-border);
border-radius: var(--radius-lg);
padding: 20px 22px 22px 26px;
overflow: hidden;
box-shadow: 0 10px 30px rgba(0,0,0,0.35);
animation: matchFadeIn 0.6s ease both;
transform: translateZ(0);
will-change: transform;
}
.match-card::before{
content: "";
position: absolute;
top: 0; left: 0;
width: 5px;
height: 100%;
background: linear-gradient(180deg, #E10600, #a30400);
box-shadow: 0 0 12px rgba(225,6,0,0.6);
}
@keyframes matchFadeIn{
from{ opacity: 0; transform: translateY(16px); }
to{ opacity: 1; transform: translateY(0); }
}
.matches-grid .match-card:nth-child(1){ animation-delay: 0.02s; }
.matches-grid .match-card:nth-child(2){ animation-delay: 0.08s; }
.matches-grid .match-card:nth-child(3){ animation-delay: 0.14s; }
.matches-grid .match-card:nth-child(4){ animation-delay: 0.20s; }
.matches-grid .match-card:nth-child(5){ animation-delay: 0.26s; }
.matches-grid .match-card:nth-child(6){ animation-delay: 0.32s; }
.matches-grid .match-card:nth-child(7){ animation-delay: 0.38s; }
.matches-grid .match-card:nth-child(8){ animation-delay: 0.44s; }
.matches-grid .match-card:nth-child(n+9){ animation-delay: 0.50s; }
/* ====================                 Esto de abajo trabaja en la franja superior de cada tarjeta de Porcentajes de nuestra aplicacion         ==================== */
.match-league{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:18px}
.match-league-header span{display: inline-flex;align-items: center;flex-direction: row-reverse;gap: 6px;
font-size: 0.68rem;font-weight: 800;color: var(--text-main);
background: rgba(255,255,255,0.05);border: 1px solid var(--glass-border);
padding: 6px 14px;border-radius: 999px;letter-spacing: 0.01em;white-space: nowrap;}
.match-league-header span::before{
content: "📊";
font-size: 0.85rem;
}
/* ====================            Esto de abajo trabaja en el enfrentamiento de los Porcentajes de nuestra aplicacion                          ==================== */
.match-teams{
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
padding: 4px 0 14px;
}
.match-team{
display: flex;
flex-direction: column;
align-items: center;
gap: 10px;
flex: 1;
text-align: center;
}
.match-team .team-logo{
width: 56px !important;
height: 56px !important;
object-fit: contain;
filter: drop-shadow(0 4px 10px rgba(0,0,0,0.4));
}
.match-team span{
font-size: 0.92rem;
font-weight: 700;
color: var(--text-main);
line-height: 1.2;
}
.match-vs{
font-size: 0.8rem;
font-weight: 900;
letter-spacing: 0.05em;
color: var(--text-muted);
background: rgba(255,255,255,0.06);
border: 1px solid var(--glass-border);
width: 34px;
height: 34px;
min-width: 34px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
}
/* ====================                    Esto de abajo trabaja en el estado vacio de los Porcentajes                                       ==================== */
.empty-state-msg{
padding: 60px 20px;
text-align: center;
font-size: 0.95rem;
color: var(--text-muted-soft);
background: var(--glass-bg);
border: 1px dashed var(--glass-border);
border-radius: var(--radius-lg);
grid-column: 1 / -1;
}
/* ====================                    Esto de abajo trabaja las barritas de los Porcentajes                                       ==================== */
.match-porcentajes{display:flex;flex-direction:column;gap:10px;padding-top:16px;border-top:1px solid var(--glass-border)}
.porcentaje-fila{display:flex;align-items:center;gap:10px}
.porcentaje-letra{width:22px;height:22px;min-width:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:0.72rem;font-weight:900;color:#fff}
.letra-l{background:linear-gradient(135deg,#00A36C,#007a4f)}
.letra-e{background:linear-gradient(135deg,#e8e8e8,#b8b8b8);color:#1a1a1a}
.letra-v{background:linear-gradient(135deg,#E10600,#a30400)}
.porcentaje-bar{flex:1;height:10px;background:rgba(255,255,255,0.08);border-radius:999px;overflow:hidden}
.porcentaje-fill{height:100%;border-radius:999px;transition:width 0.6s ease}
.fill-l{background:linear-gradient(90deg,#00A36C,#00c988)}
.fill-e{background:linear-gradient(90deg,#d8d8d8,#ffffff)}
.fill-v{background:linear-gradient(90deg,#E10600,#ff2a20)}
.porcentaje-num{font-size:0.72rem;font-weight:700;color:var(--text-main);min-width:34px;text-align:right}
/* ====================                      Esto de abajo trabaja con el boton de ir a inicio nuevamente                                     ==================== */
.adm-fab-inicio {
position: fixed;
bottom: 22px;
left: 50%;
transform: translateX(-50%);
z-index: 9500;
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 14px 18px;
border-radius: 999px;
background: linear-gradient(135deg, #006341, #00a36c);
color: #fff;
text-decoration: none;
font-size: 0.8rem;
font-weight: 800;
box-shadow: 0 10px 28px rgba(0,0,0,0.45), 0 0 0 1px rgba(212,175,55,0.25);
transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease), filter 0.25s var(--ease);
}
.adm-fab-inicio:active {
transform: translateX(-50%) scale(0.95);
}
.adm-fab-label {
white-space: nowrap;
}
.adm-fab-icon {
font-size: 1.1rem;
line-height: 1;
flex-shrink: 0;
display: inline-flex;
align-items: center;
transform: translateY(-1px);
}
/* ====================               Esto de abajo trabaja en los tamaños del celular de los Porcentajes                                    ==================== */
@media (max-width: 640px){
.horarios-hero{ padding: 20px 18px 10px; }
.matches-section{ padding: 10px 18px 70px; }
.matches-grid{ grid-template-columns: 1fr; gap: 16px; }
.match-card{ padding: 18px 16px 18px 20px; }
.match-team .team-logo{ width: 46px !important; height: 46px !important; }
.adm-fab-inicio { bottom: 16px; padding: 13px; gap: 0;}}