/* Importar fuente Space Grotesk */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root{--teal:#00A696;--red:#E41625;--yellow:#F7B32B;--navy:#001D39;--bg:#F4F6F8;--white:#FFFFFF;--text:#1A1A1A;--gray:#666}
*{margin:0;padding:0;box-sizing:border-box;font-family:'Segoe UI',system-ui,sans-serif}

/* FONDO - Estadio de fútbol */
body{background:linear-gradient(135deg,#e0f2fe 0%,#f0f9ff 50%,#e0f2fe 100%);color:var(--text);line-height:1.6;position:relative;min-height:100vh}

body::before{
    content:"";
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index:-1;
    background-image:url('https://images.unsplash.com/photo-1546608235-3310a2494cdf?q=80&w=2000&auto=format&fit=crop');
    background-size:cover;
    background-position:center;
    opacity:1.08;
    background-attachment:fixed;
    pointer-events:none
}

.container{max-width:600px;margin:20px auto;background:rgba(255,255,255,0.98);backdrop-filter:blur(8px);border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,0.1);overflow:hidden;position:relative;z-index:1}

/* HEADER: Banner Full Width sin márgenes laterales */
.header {
    padding: 0;
    position: relative;
    background: #fff;
    border-bottom: 1px solid #eee;
}

.header-banner {
    width: 100%;
    display: block;
    height: auto;
    border-radius: 16px 16px 0 0; /* Solo esquinas superiores redondeadas */
    object-fit: cover;
    object-position: center;
}

.header-content {
    padding: 20px 20px 15px;
    background: #fff;
    position: relative;
}

.main-subtitle {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--teal);
    text-align: center;
    margin: 0;
    line-height: 1.3;
}

.color-bar {
    height: 5px;
    width: 100%;
    background: linear-gradient(90deg,var(--teal) 0%,var(--red) 50%,var(--yellow) 100%);
    position: absolute;
    bottom: 0;
    left: 0;
}

.main{padding:25px 20px;padding-bottom:100px}
.alert{padding:12px;border-radius:8px;text-align:center;font-weight:600;margin-bottom:15px}
.alert-error{background:#ffebee;color:var(--red);border:1px solid #ffcdd2}
.alert-success{background:#e8f5e9;color:#2e7d32;border:1px solid #c8e6c9}
.card{background:var(--white);border-radius:12px;padding:20px;margin-bottom:20px;border:1px solid #eee;box-shadow:0 2px 8px rgba(0,0,0,0.04)}
.card-title{font-size:1.2rem;color:var(--navy);margin-bottom:15px;border-left:4px solid var(--teal);padding-left:10px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.form-group{display:flex;flex-direction:column}
.form-group label{font-size:0.8rem;font-weight:700;color:var(--gray);margin-bottom:5px;text-transform:uppercase}
.form-group input{padding:12px;border:2px solid #ddd;border-radius:8px;font-size:1rem;background:#fafafa}
.form-group input:focus{border-color:var(--teal);outline:none;background:#fff;box-shadow:0 0 0 3px rgba(0,166,150,0.1)}
.section-title{font-size:1.3rem;color:var(--navy);margin:25px 0 15px;font-weight:800;text-align:center}
.phase-group{background:var(--white);border-radius:10px;margin-bottom:10px;border:1px solid #eee;overflow:hidden}
.phase-summary{padding:15px;cursor:pointer;background:#f8f9fa;display:flex;justify-content:space-between;align-items:center;font-weight:700;color:var(--navy);list-style:none}
.phase-summary::after{content:'+';font-size:1.5rem;color:var(--teal);font-weight:300}
.phase-group[open] .phase-summary::after{content:'−';color:var(--red)}
.matches-container{padding:0}
.match-card{display:flex;justify-content:space-between;align-items:center;padding:15px;border-bottom:1px solid #f0f0f0;flex-wrap:wrap;gap:12px}
.match-card:last-child{border-bottom:none}
.match-teams{display:flex;align-items:center;gap:8px;flex:1;min-width:180px;font-size:0.9rem}
.team{font-weight:600;color:var(--text);display:flex;align-items:center;gap:5px}
.vs{color:var(--red);font-weight:800;font-size:0.85rem;background:#fff;padding:2px 6px;border-radius:4px;border:1px solid #eee}
.prediction-options{display:flex;gap:8px}
.option-btn{display:flex;flex-direction:column;align-items:center;cursor:pointer;padding:6px 10px;border:2px solid #e0e0e0;border-radius:8px;min-width:55px;background:#fff}
.option-btn input{display:none}
.option-btn input:checked+.option-value{background:var(--teal);color:#fff;border-color:var(--teal);transform:scale(1.05)}
.option-value{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:2px solid #e0e0e0;border-radius:6px;font-weight:800;font-size:1rem;margin-bottom:3px;background:#fff;transition:0.2s}
.option-label{font-size:0.65rem;color:var(--gray);font-weight:600;text-align:center}
.sticky-footer{position:fixed;bottom:0;left:0;right:0;padding:15px 20px;background:rgba(255,255,255,0.95);border-top:1px solid #eee;z-index:100;display:flex;justify-content:center;backdrop-filter:blur(5px)}
.btn-submit{background:linear-gradient(135deg,var(--teal) 0%,#008C82 100%);color:#fff;border:none;padding:14px 30px;font-size:1rem;font-weight:800;border-radius:50px;cursor:pointer;width:100%;max-width:500px;box-shadow:0 4px 12px rgba(0,166,150,0.3);text-transform:uppercase}
.footer{text-align:center;padding:20px;color:#888;font-size:0.8rem;background:#f8f9fa;border-top:1px solid #eee}
.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#e0f2fe 0%,#f0f9ff 100%)}
.login-container{background:var(--white);padding:40px;border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,0.1);text-align:center;max-width:400px;width:90%}
.login-trophy{height:60px;margin-bottom:20px;object-fit:contain}
.login-input{padding:12px;border:2px solid #ddd;border-radius:8px;font-size:1rem;text-align:center;width:100%;margin-bottom:15px}
.login-input:focus{border-color:var(--teal);outline:none}
@media(max-width:600px){.container{margin:0;border-radius:0;min-height:100vh}.form-grid{grid-template-columns:1fr}.match-card{flex-direction:column;text-align:center}.match-teams{justify-content:center;width:100%}}