*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}[data-theme=dark]{--bg: #1a1a2e;--bg-dark: #13132b;--bg-card: #222244;--bg-card2: #1e1e3a;--bg-hover: #2a2a50;--bg-sidebar: #16162e;--bg-input: #2a2a4a;--border: rgba(255,255,255,.06);--border-light: rgba(255,255,255,.1);--text: #e8e8f0;--text2: #9e9eb8;--text3: #6a6a88;--green: #00e676;--green-dark: #00c853;--green-glow: rgba(0,230,118,.1);--accent: #00e676;--accent-glow: rgba(0,230,118,.1);--red: #ff5252;--yellow: #ffca28;--blue: #448aff;--orange: #ff9100;--live-bg: rgba(0,230,118,.1);--live-color: #00e676;--finished-color: #6a6a88;--score-win: #00e676;--shadow: 0 2px 8px rgba(0,0,0,.3);--icon-active-bg: rgba(0,230,118,.1);--icon-active-bar: #00e676;--sb-active-bg: rgba(0,230,118,.12);--sb-active-text: #00e676;--toggle-bg: #2a2a4a;--toggle-knob: #fff}[data-theme=light]{--bg: #f5f5f0;--bg-dark: #ffffff;--bg-card: #ffffff;--bg-card2: #ffffff;--bg-hover: #f0efe8;--bg-sidebar: #ffffff;--bg-input: #eeeee6;--border: rgba(0,0,0,.08);--border-light: rgba(0,0,0,.12);--text: #1a1a1a;--text2: #555555;--text3: #999999;--green: #2e7d32;--green-dark: #1b5e20;--green-glow: rgba(46,125,50,.08);--accent: #c8a415;--accent-glow: rgba(200,164,21,.1);--red: #d32f2f;--yellow: #f9a825;--blue: #1565c0;--orange: #e65100;--live-bg: rgba(46,125,50,.08);--live-color: #2e7d32;--finished-color: #999;--score-win: #2e7d32;--shadow: 0 2px 8px rgba(0,0,0,.06);--icon-active-bg: rgba(200,164,21,.12);--icon-active-bar: #c8a415;--sb-active-bg: rgba(200,164,21,.1);--sb-active-text: #b8940a;--toggle-bg: #ddd;--toggle-knob: #fff}body{font-family:Inter,-apple-system,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;transition:background .3s,color .3s}a{color:inherit;text-decoration:none}.match-row.match-selected{background:var(--accent-glow)!important;border-left:3px solid var(--accent)}@keyframes livePulse{0%,to{opacity:1}50%{opacity:.6}}.sz-notification{position:fixed;top:20px;left:50%;transform:translate(-50%) translateY(-20px);padding:12px 24px;background:var(--bg-card);border:1px solid var(--border-light);border-radius:12px;font-size:.85rem;font-weight:600;color:var(--text);box-shadow:0 8px 32px #0000004d;z-index:10000;opacity:0;transition:all .3s ease;pointer-events:none;backdrop-filter:blur(10px);white-space:nowrap}.sz-notification.show{opacity:1;transform:translate(-50%) translateY(0)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text3);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text2)}.match-fav{transition:transform .2s,color .2s}.match-action{transition:transform .2s}.icon-bar-item{transition:all .2s,transform .15s}.sb-item{transition:all .15s}.main{transition:opacity .15s}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.loading-spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:.9rem;color:var(--text3);font-weight:500}.no-matches{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:12px}.no-matches-icon{font-size:2.5rem;opacity:.5}.no-matches-text{font-size:1rem;font-weight:600;color:var(--text2)}.no-matches-sub{font-size:.85rem;color:var(--text3)}.error-state{display:flex;flex-direction:column;align-items:center;padding:60px 20px;gap:12px}.error-icon{font-size:2rem}.error-text{font-size:.9rem;color:var(--text3);text-align:center}.retry-btn{margin-top:8px;padding:8px 20px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.85rem;cursor:pointer;font-family:inherit;transition:opacity .2s}.retry-btn:hover{opacity:.8}.team-logo{width:20px;height:20px;object-fit:contain;border-radius:2px;vertical-align:middle;margin-right:6px}.league-logo{width:20px;height:20px;object-fit:contain;margin-right:6px;vertical-align:middle}#matches-container .league-group{background:var(--bg-card);border-radius:12px;border:1px solid var(--border);margin-bottom:12px;overflow:hidden}#matches-container .league-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);font-weight:600;font-size:.88rem}#matches-container .league-header-left{display:flex;align-items:center;gap:4px}#matches-container .view-table{color:var(--accent);font-size:.78rem;font-weight:600;text-decoration:none}#matches-container .match-row{display:grid;grid-template-columns:36px 1fr 70px 80px 36px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);transition:background .15s;cursor:pointer}#matches-container .match-row:last-child{border-bottom:none}#matches-container .match-row:hover,#matches-container .match-row.match-selected{background:var(--bg-hover)}#matches-container .match-fav{color:var(--text3);font-size:1rem;cursor:pointer}#matches-container .match-fav:hover,#matches-container .match-fav.starred{color:var(--yellow)}#matches-container .match-teams{display:flex;flex-direction:column;gap:4px}#matches-container .match-team{display:flex;align-items:center;gap:8px;font-size:.88rem;font-weight:500}#matches-container .match-score{display:flex;flex-direction:column;align-items:center;gap:4px}#matches-container .match-score .s{font-size:.95rem;font-weight:800;min-width:20px;text-align:center}#matches-container .match-score .s.green{color:var(--score-win)}#matches-container .match-status{text-align:center}#matches-container .status-text{font-size:.72rem;font-weight:600;padding:3px 8px;border-radius:4px}#matches-container .status-text.finished{color:var(--finished-color)}#matches-container .status-text.live{color:var(--live-color);background:var(--live-bg)}#matches-container .status-text.upcoming{color:var(--text2)}#matches-container .match-action{display:flex;align-items:center;justify-content:center;color:var(--text3);font-size:.8rem;cursor:pointer}#matches-container .match-action:hover{color:var(--accent)}
