*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:20px;color:#333}.container{max-width:1200px;margin:0 auto}header{text-align:center;color:#fff;margin-bottom:40px;padding:30px 20px;background:#ffffff1a;border-radius:15px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}header h1{font-size:2.5rem;margin-bottom:10px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.subtitle{font-size:1.1rem;opacity:.9}.info-box{margin-top:20px;background:#ffffff26;border-radius:10px;padding:15px 20px;text-align:left;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.2)}.info-box h3{margin-bottom:10px;font-size:1.1rem;color:#fff}.info-box p{margin:8px 0;font-size:.95rem}.info-box ul{margin:10px 0;padding-left:20px;list-style:none}.info-box li{margin:5px 0;font-size:.95rem}main{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:40px}section{background:#fff;border-radius:15px;padding:25px;box-shadow:0 10px 30px #0003}section h2{color:#667eea;margin-bottom:10px;font-size:1.5rem;border-bottom:3px solid #667eea;padding-bottom:10px}.table-description{font-size:.9rem;color:#666;margin-bottom:15px;font-style:italic}.fixtures-section{max-height:800px;overflow-y:auto}.fecha-navigation{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding:15px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px}.fecha-indicator{color:#fff;font-size:1.3rem;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.nav-button{padding:10px 20px;background:#fff;color:#667eea;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0003}.nav-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #0000004d;background:#f0f0f0}.nav-button:active:not(:disabled){transform:translateY(0)}.nav-button:disabled{opacity:.4;cursor:not-allowed}.fecha{margin-bottom:30px}.fecha h3{color:#764ba2;margin-bottom:15px;font-size:1.2rem}.match{margin-bottom:10px}.match-row{display:grid;grid-template-columns:1fr auto auto auto 1fr;gap:10px;align-items:center;padding:12px;background:#f8f9fa;border-radius:8px;transition:all .3s ease}.match-row:hover{background:#e9ecef;transform:translate(5px)}.team-name{font-weight:500;font-size:.9rem}.match-row .team-name:first-child{text-align:right}.match-row .team-name:last-child{text-align:left}.score-input{width:50px;padding:8px;border:2px solid #667eea;border-radius:5px;text-align:center;font-size:1rem;font-weight:700;transition:all .3s ease}.score-input:focus{outline:none;border-color:#764ba2;box-shadow:0 0 0 3px #764ba21a}.score-input:disabled{background-color:#e9ecef;border-color:#ced4da;color:#6c757d;cursor:not-allowed;opacity:.7}.vs{color:#999;font-weight:700}.btn-primary{width:100%;padding:15px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;margin-top:20px;text-transform:uppercase;letter-spacing:1px}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.btn-primary:active{transform:translateY(0)}.table-container{overflow-x:auto}#standings-table{width:100%;border-collapse:collapse;font-size:.9rem}#standings-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}#standings-table th{padding:12px 8px;text-align:left;font-weight:600;text-transform:uppercase;font-size:.8rem;letter-spacing:.5px}#standings-table td{padding:12px 8px;border-bottom:1px solid #e9ecef}#standings-table tbody tr{transition:all .3s ease}#standings-table tbody tr:hover{background:#f8f9fa}.team-cell{font-weight:600}.average-cell{font-weight:700;color:#667eea}.status-cell{font-weight:600;text-transform:uppercase;font-size:.85rem}.safe{background:#28a7451a}.safe .status-cell{color:#28a745}.playoff{background:#ffc1071a}.playoff .status-cell{color:#ffc107}.relegation{background:#dc35451a}.relegation .status-cell{color:#dc3545}.zones-section{background:#fff;border-radius:15px;padding:25px;box-shadow:0 10px 30px #0003;max-width:1200px;margin:0 auto 40px}.zones-section h2{color:#667eea;margin-bottom:10px;font-size:1.5rem;border-bottom:3px solid #667eea;padding-bottom:10px}.zone-table{width:100%;border-collapse:collapse;font-size:.85rem}.zone-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.zone-table th{padding:10px 6px;text-align:center;font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.3px}.zone-table td{padding:10px 6px;border-bottom:1px solid #e9ecef;text-align:center}.zone-table tbody tr{transition:all .3s ease}.zone-table tbody tr:hover{background:#f8f9fa}.zone-table .team-cell{text-align:left;font-weight:600}.zone-table .form-cell{font-family:monospace;font-size:.8rem;font-weight:600;letter-spacing:1px}.qualified{background:#007bff14}.qualified:hover{background:#007bff26!important}.playoff-section{margin-top:30px;padding-top:30px;border-top:3px solid #667eea}.playoff-section h3{color:#667eea;font-size:1.3rem;margin-bottom:20px;text-align:center}.playoff-matchups-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:15px;margin-top:20px}.playoff-matchup{background:linear-gradient(135deg,#667eea0d,#764ba20d);border:2px solid #667eea;border-radius:10px;padding:15px;transition:all .3s ease}.playoff-matchup:hover{transform:translateY(-3px);box-shadow:0 5px 15px #667eea4d}.matchup-number{text-align:center;font-weight:700;color:#667eea;font-size:.85rem;margin-bottom:10px;text-transform:uppercase;letter-spacing:1px}.matchup-teams{display:flex;flex-direction:column;gap:8px}.matchup-team{display:flex;flex-direction:column;padding:10px;background:#fff;border-radius:8px;transition:all .3s ease}.matchup-team:hover{background:#f8f9fa}.team-seed{font-size:.75rem;color:#666;font-weight:600;margin-bottom:5px}.team-name-playoff{font-size:.95rem;font-weight:700;color:#333}.matchup-vs{text-align:center;font-weight:700;color:#764ba2;font-size:.9rem;padding:5px 0}.fixtures-section::-webkit-scrollbar,.table-section::-webkit-scrollbar{width:8px}.fixtures-section::-webkit-scrollbar-track,.table-section::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.fixtures-section::-webkit-scrollbar-thumb,.table-section::-webkit-scrollbar-thumb{background:#667eea;border-radius:10px}.fixtures-section::-webkit-scrollbar-thumb:hover,.table-section::-webkit-scrollbar-thumb:hover{background:#764ba2}@media (max-width: 968px){main{grid-template-columns:1fr}header h1{font-size:2rem}.match-row{grid-template-columns:1fr auto auto auto 1fr;font-size:.85rem}.team-name{font-size:.8rem}.fecha-navigation{padding:12px}.fecha-indicator{font-size:1.1rem}.nav-button{padding:8px 15px;font-size:.9rem}}@media (max-width: 600px){body{padding:10px}header{padding:20px 15px}header h1{font-size:1.5rem}.subtitle{font-size:.9rem}.info-box{padding:12px 15px}.info-box h3{font-size:1rem}.info-box p,.info-box li{font-size:.85rem}section{padding:15px}section h2{font-size:1.3rem}.match-row{padding:8px;gap:5px}.score-input{width:40px;padding:6px;font-size:.9rem}.fecha-navigation{padding:10px;flex-wrap:wrap;gap:10px}.fecha-indicator{font-size:1rem;order:-1;width:100%;text-align:center;margin-bottom:5px}.nav-button{padding:8px 12px;font-size:.85rem;flex:1}#standings-table,#average-standings-table,#annual-standings-table{font-size:.75rem}#standings-table th,#standings-table td,#average-standings-table th,#average-standings-table td,#annual-standings-table th,#annual-standings-table td{padding:8px 4px}.table-description{font-size:.8rem}.zones-section{padding:15px}.zone-table{font-size:.7rem}.zone-table th,.zone-table td{padding:6px 3px}.zone-table .form-cell{font-size:.65rem;letter-spacing:.5px}.playoff-matchups-grid{grid-template-columns:1fr;gap:12px}.playoff-matchup{padding:12px}.matchup-number{font-size:.8rem}.team-name-playoff{font-size:.85rem}.team-seed{font-size:.7rem}}@media (max-width: 400px){header h1{font-size:1.3rem}.subtitle{font-size:.85rem}.match-row{padding:6px;gap:3px}.team-name{font-size:.7rem}.score-input{width:35px;padding:5px;font-size:.85rem}.vs{font-size:.8rem}.nav-button{padding:6px 10px;font-size:.8rem}.fecha-indicator{font-size:.9rem}section h2{font-size:1.1rem}#standings-table,#average-standings-table,#annual-standings-table{font-size:.7rem}#standings-table th,#standings-table td,#average-standings-table th,#average-standings-table td,#annual-standings-table th,#annual-standings-table td{padding:6px 2px}.zone-table{font-size:.65rem}.zone-table th,.zone-table td{padding:5px 2px}.zone-table .form-cell{font-size:.6rem;letter-spacing:.3px}.playoff-matchup{padding:10px}.matchup-number{font-size:.75rem}.team-name-playoff{font-size:.8rem}.team-seed{font-size:.65rem}.matchup-vs{font-size:.8rem}.zones-grid{flex-direction:column}}.zones-grid{display:flex;gap:30px;margin-bottom:30px}.playoff-column,.copas-column{flex:1}.playoff-section{margin-top:0;padding-top:0;border-top:none}@media (max-width: 968px){.zones-grid{flex-direction:column}}.playoff-bracket-table{width:100%;border-collapse:separate;border-spacing:0 15px;background:transparent}.playoff-bracket-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.playoff-bracket-table th{padding:15px;font-weight:600;text-transform:uppercase;font-size:.9rem;letter-spacing:.5px;background:linear-gradient(135deg,#667eea,#764ba2)}.playoff-bracket-table th:first-child{border-radius:10px 0 0 10px}.playoff-bracket-table th:last-child{border-radius:0 10px 10px 0}.playoff-bracket-table tbody tr{background:#fff;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.playoff-bracket-table tbody tr:hover{background:#f8f9fa;transform:translateY(-2px);box-shadow:0 4px 8px #667eea33}.playoff-team-cell{padding:15px 20px;text-align:center}.playoff-bracket-table tbody tr td:first-child{border-radius:10px 0 0 10px}.playoff-bracket-table tbody tr td:last-child{border-radius:0 10px 10px 0}.playoff-team-info{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center}.team-name-bracket{font-weight:600;font-size:1rem;color:#333}.team-seed-bracket{font-size:.85rem;color:#667eea;font-weight:500}.vs-cell{text-align:center;font-weight:700;color:#999;font-size:.9rem;padding:15px 10px}@media (max-width: 768px){.playoff-bracket-table,.team-name-bracket{font-size:.9rem}.team-seed-bracket{font-size:.75rem}.playoff-team-cell{padding:12px 15px}}
