:root{--bg:#0f172a;--bg-sidebar:#0b1120;--bg-panel:#1e293b;--border:#2b3a52;--text:#e2e8f0;--text-muted:#94a3b8;--accent:#38bdf8;--green:#22c55e;--blue:#3b82f6;--red:#ef4444;--gold:#f59e0b}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--bg-sidebar);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;display:flex}.topbar-controls{align-items:center;gap:12px;display:flex}.body{flex:1;min-height:0;display:flex}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border);flex:0 0 25%;padding:16px 12px}.brand{color:inherit;cursor:pointer;font:inherit;background:0 0;border:none;align-items:center;gap:10px;margin:0;padding:0;display:flex}.brand:hover{opacity:.85}.brand-ball{font-size:24px}.brand-title{font-size:18px;font-weight:700}.language-selector{background:var(--bg-panel);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:6px 10px;font-size:14px}.language-selector:focus{outline:1px solid var(--accent)}.reset-button{background:var(--bg-panel);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:6px 10px;font-size:14px}.reset-button:hover{background:#16233c}.reset-button:focus-visible{outline:1px solid var(--accent)}.league-list{flex-direction:column;gap:4px;display:flex}.league-item{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;transition:background .15s;display:flex}.league-item:hover{background:#16233c}.league-item.active{background:#1d3a5f;border-color:#2b4a72}.league-name{flex:1;font-weight:600}.league-country{color:var(--text-muted);font-size:12px}.flag{font-size:18px}.content{flex:0 0 75%;padding:24px 32px;overflow-x:auto}.top-three-board{flex-wrap:wrap;gap:12px;display:flex}.top-three-card{background:var(--bg-panel);border:1px solid var(--border);cursor:pointer;border-radius:12px;flex:220px;min-width:180px;max-width:300px;padding:12px 14px;transition:background .15s,border-color .15s;position:relative}.top-three-card:hover,.top-three-card:focus-visible{background:#16233c;border-color:#2b4a72;outline:none}.top-three-card-header{align-items:center;gap:8px;margin-bottom:10px;padding-right:24px;display:flex}.top-three-league{margin:0;font-size:14px;font-weight:700;line-height:1.2}.top-three-close{width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:18px;line-height:1;display:inline-flex;position:absolute;top:6px;right:6px}.top-three-close:hover,.top-three-close:focus-visible{color:var(--text);background:#334155;outline:none}.top-three-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.top-three-item{align-items:center;gap:8px;font-size:13px;display:flex}.top-three-pos{width:20px;height:20px;color:var(--text);background:#334155;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.top-three-item-1 .top-three-pos{background:var(--gold);color:#0f172a}.top-three-item-2 .top-three-pos{color:#0f172a;background:#cbd5e1}.top-three-item-3 .top-three-pos{color:#fff7ed;background:#b45309}.top-three-team{white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:600;overflow:hidden}.top-three-points{color:var(--accent);text-align:right;min-width:22px;font-weight:700}.top-three-empty{color:var(--text-muted);margin:2px 0 0;font-size:13px}.standings-panel{max-width:1000px}.standings-header h1{margin:0 0 4px}.muted{color:var(--text-muted);font-size:14px}.updated-at{color:var(--text-muted);margin:8px 0 0;font-size:13px}.error{color:var(--red)}.source-badge{text-transform:uppercase;letter-spacing:.5px;vertical-align:middle;border-radius:999px;margin-left:10px;padding:2px 8px;font-size:11px}.source-live{color:#86efac;background:#14532d}.table-wrap{border:1px solid var(--border);border-radius:12px;margin-top:12px;overflow-x:auto}.standings-table{border-collapse:collapse;width:100%;font-size:14px}.standings-table th,.standings-table td{text-align:center;white-space:nowrap;padding:10px 12px}.standings-table thead th{background:var(--bg-panel);color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--border);font-size:12px}.standings-table tbody tr{border-bottom:1px solid var(--border)}.standings-table tbody tr:last-child{border-bottom:none}.standings-table tbody tr:hover{background:#0d1a2c}.col-pos{width:40px;font-weight:700}.col-team{text-align:left;min-width:220px}.col-form{text-align:center}.team-cell{align-items:center;gap:10px;display:flex}.crest{object-fit:contain;width:24px;height:24px}.crest-fallback{width:24px;height:24px;color:var(--text);background:#334155;border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.team-name{font-weight:600}.positive{color:var(--green)}.negative{color:var(--red)}.points{font-weight:700}.standings-table tbody tr.zone-champions-league td:first-child{border-left:3px solid var(--blue)}.standings-table tbody tr.zone-europa td:first-child{border-left:3px solid var(--gold)}.standings-table tbody tr.zone-relegation td:first-child{border-left:3px solid var(--red)}.form-badge{border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;margin:0 1px;font-size:10px;font-weight:700;display:inline-flex}.form-w{color:#bbf7d0;background:#14532d}.form-d{color:#d1d5db;background:#374151}.form-l{color:#fecaca;background:#7f1d1d}@media (width<=720px){.body{flex-direction:column}.sidebar,.content{flex:none;width:100%}.league-list{flex-flow:wrap}.league-item{width:auto}}
