*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5}#root{min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:20px}.header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px 0;margin-bottom:30px;box-shadow:0 2px 10px #0000001a}.header h1{text-align:center;font-size:2.5rem;font-weight:700;margin-bottom:10px}.header p{text-align:center;font-size:1rem;opacity:.9}.matches-container{display:flex;flex-direction:column;gap:20px}.league-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;transition:transform .2s,box-shadow .2s;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.league-section:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.league-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:15px 20px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:opacity .2s}.league-header:hover{opacity:.95}.league-title{display:flex;align-items:center;gap:12px;font-size:1.3rem;font-weight:600}.league-emblem{width:32px;height:32px;object-fit:contain;background:#f0f0f0}.matches-list{padding:15px}.match-card{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:15px;border-bottom:1px solid #eee;gap:15px}.match-card:last-child{border-bottom:none}.team{display:flex;align-items:center;gap:10px}.team.home{justify-content:flex-end;text-align:right}.team-name{font-weight:500;font-size:1rem}.team-crest{width:24px;height:24px;object-fit:contain;background:#f0f0f0}.team-crest[src*="crests.football-data.org"]{content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='%23ddd'/%3E%3C/svg%3E")}.match-score{text-align:center;padding:8px 20px;background:#f8f9fa;border-radius:8px;min-width:80px}.score{font-size:1.5rem;font-weight:700;color:#333}.match-time{font-size:.85rem;color:#666;margin-top:4px}.match-status{display:inline-block;padding:3px 8px;border-radius:4px;font-size:.75rem;font-weight:600;margin-top:4px}.match-status.live{background:#f44;color:#fff}.match-status.scheduled{background:#e0e0e0;color:#666}.match-status.finished{background:#4caf50;color:#fff}.standings-table{width:100%;border-collapse:collapse;margin:15px 0}.standings-table th{background:#f8f9fa;padding:12px 10px;text-align:left;font-weight:600;font-size:.9rem;border-bottom:2px solid #dee2e6}.standings-table td{padding:12px 10px;border-bottom:1px solid #eee}.standings-table tr:hover{background:#f8f9fa}.team-position{font-weight:700;color:#667eea;width:40px}.team-info{display:flex;align-items:center;gap:10px}.team-info img{width:20px;height:20px;object-fit:contain}.stats{text-align:center;font-weight:500}.loading{text-align:center;padding:60px 20px;font-size:1.2rem;color:#666;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.error{text-align:center;padding:40px 20px;color:#d32f2f;background:#ffebee;border-radius:8px;margin:20px}.no-matches{text-align:center;padding:40px 20px;color:#666;font-size:1.1rem}.back-button{background:#fff;color:#667eea;border:2px solid #667eea;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s;margin-bottom:20px}.back-button:hover{background:#667eea;color:#fff}.date-selector{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:20px;margin-bottom:20px}.date-controls{display:flex;justify-content:center;align-items:center;gap:15px;margin-bottom:20px}.nav-button{background:#fff;border:2px solid #667eea;color:#667eea;width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;padding:0}.nav-button:hover{background:#667eea;color:#fff;transform:scale(1.1)}.today-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:10px 30px;border-radius:20px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #667eea4d}.today-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.date-picker-input{background:#fff;border:2px solid #667eea;color:#667eea;padding:8px 15px;border-radius:20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.date-picker-input:hover{background:#f0f3ff}.date-picker-input:focus{outline:none;box-shadow:0 0 0 3px #667eea33}.date-picker-input::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(42%) sepia(93%) saturate(1352%) hue-rotate(217deg) brightness(95%) contrast(93%)}.week-dates{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.date-item{background:#f8f9fa;border:2px solid transparent;border-radius:12px;padding:12px 8px;cursor:pointer;transition:all .2s;text-align:center;display:flex;flex-direction:column;gap:4px}.date-item:hover{background:#e9ecef;transform:translateY(-2px)}.date-item.selected{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea;font-weight:600}.date-item.today{border-color:#667eea}.date-item.today:not(.selected){background:#f0f3ff}.day-name{font-size:.75rem;text-transform:uppercase;opacity:.8}.day-number{font-size:1.2rem;font-weight:700}.month-name{font-size:.7rem;opacity:.8}.date-item.selected .day-name,.date-item.selected .month-name{opacity:.95}.refresh-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #667eea4d;display:flex;align-items:center;gap:5px}.refresh-button:hover:not(.disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.refresh-button:active:not(.disabled){transform:translateY(0)}.refresh-button.disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);cursor:not-allowed;opacity:.7}.refresh-timer{font-size:.9rem;opacity:.9}.auto-refresh-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.auto-refresh-toggle input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.toggle-slider{position:relative;width:48px;height:24px;background:#ccc;border-radius:24px;transition:all .3s}.toggle-slider:before{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;top:2px;left:2px;transition:all .3s;box-shadow:0 2px 4px #0003}.auto-refresh-toggle input:checked+.toggle-slider{background:linear-gradient(135deg,#667eea,#764ba2)}.auto-refresh-toggle input:checked+.toggle-slider:before{transform:translate(24px)}.toggle-label{font-size:.9rem;font-weight:500;color:#333;white-space:nowrap}.live-filter-toggle .toggle-slider{background:#ccc}.live-filter-toggle input:checked+.toggle-slider{background:linear-gradient(135deg,#f44,#c00)}.match-details-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;margin-bottom:20px}.match-details-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px;display:flex;align-items:center;gap:15px}.competition-emblem{width:50px;height:50px;object-fit:contain;background:#fff;border-radius:8px;padding:5px}.match-details-header h2{margin:0;font-size:1.5rem}.match-details-header p{margin:5px 0 0;opacity:.9;font-size:.9rem}.match-score-large{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:40px 20px;gap:30px;background:#f8f9fa}.team-large{text-align:center;display:flex;flex-direction:column;align-items:center;gap:15px}.team-crest-large{width:80px;height:80px;object-fit:contain}.team-large h3{font-size:1.3rem;margin:0;color:#333}.score-large{text-align:center}.final-score{font-size:3rem;font-weight:700;color:#333;display:flex;align-items:center;gap:15px}.score-divider{font-size:2rem;opacity:.3}.half-time-score{font-size:.9rem;color:#666;margin-top:10px}.match-status-large{display:inline-block;padding:8px 20px;border-radius:20px;font-weight:600;margin-top:15px;font-size:.9rem}.match-status-large.live{background:#f44;color:#fff}.match-status-large.finished{background:#4caf50;color:#fff}.match-status-large.scheduled{background:#667eea;color:#fff}.match-time-large{font-size:2rem;font-weight:700;color:#333}.match-date-large{font-size:1rem;color:#666;margin-top:10px}.match-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;padding:30px;border-bottom:1px solid #eee}.match-info-item{display:flex;flex-direction:column;gap:5px}.info-label{font-size:.8rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:1.1rem;font-weight:600;color:#333}.head-to-head{padding:30px}.head-to-head h3{font-size:1.5rem;margin-bottom:20px;color:#333}.h2h-stats{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;background:#f8f9fa;padding:30px;border-radius:12px;margin-bottom:15px}.h2h-team{text-align:center}.h2h-team-name{font-weight:600;font-size:1.1rem;color:#333;margin-bottom:10px}.h2h-wins{font-size:1.5rem;font-weight:700;color:#667eea}.h2h-draws{text-align:center;padding:0 20px;border-left:2px solid #ddd;border-right:2px solid #ddd}.h2h-draws-number{font-size:2rem;font-weight:700;color:#666}.h2h-draws-label{font-size:.9rem;color:#666;text-transform:uppercase}.h2h-summary{text-align:center;color:#666;margin-bottom:30px}.h2h-matches h4{font-size:1.2rem;margin-bottom:15px;color:#333}.h2h-match{display:grid;grid-template-columns:120px 1fr auto;gap:15px;align-items:center;padding:15px;border-bottom:1px solid #eee}.h2h-match:last-child{border-bottom:none}.h2h-match-date{font-size:.85rem;color:#666}.h2h-match-score{display:flex;gap:15px;align-items:center;justify-content:center;font-weight:500}.h2h-score{font-weight:700;color:#333;padding:5px 15px;background:#f0f0f0;border-radius:6px}.h2h-match-comp{font-size:.85rem;color:#666;text-align:right}.league-details{padding:20px}.recent-matches{margin-top:30px}.recent-matches h3{font-size:1.3rem;margin-bottom:15px;color:#333}@media (max-width: 768px){.header h1{font-size:1.8rem}.match-card{grid-template-columns:1fr;gap:10px}.team.home{justify-content:flex-start;text-align:left}.match-score{justify-self:center}.standings-table{font-size:.85rem}.standings-table th,.standings-table td{padding:8px 5px}.week-dates{gap:5px}.date-item{padding:8px 4px}.day-name{font-size:.65rem}.day-number{font-size:1rem}.month-name{font-size:.6rem}.date-controls{margin-bottom:15px}.today-button{padding:8px 20px;font-size:.9rem}.date-picker-input{padding:6px 10px;font-size:.85rem}.nav-button{width:35px;height:35px;font-size:1.3rem}.refresh-button{padding:8px 16px;font-size:.9rem}.toggle-label{font-size:.8rem}.toggle-slider{width:40px;height:20px}.toggle-slider:before{width:16px;height:16px}.auto-refresh-toggle input:checked+.toggle-slider:before{transform:translate(20px)}}
