body{--primary-color: #0134A9;--primary-light: #1640b7;--secondary-color: #86888b;--primary-text-color: #333;--bg-color: #f0f2f5;--surface-color: #ffffff;--border-color: #e5e7eb;--back-color: #bde0ef;--lay-color: #f7cac9;--back-text-color: #0056b3;--lay-text-color: #cc0000;--odds-btn-text: #0b5394;--match-row-bg: #fff;--match-row-hover: #f9f9f9;--time-col-bg: #0134A9;--time-col-text: #fff;--badge-bg: #e6f0ff;--badge-text: #0134A9;--header-bg: #fff;--sidebar-bg: #fff}body.dark{--primary-color: #4078f7;--bg-color: #121212;--surface-color: #1e1e1e;--primary-text-color: #e0e0e0;--border-color: #2c2c2c;--back-color: #1b2f4c;--lay-color: #4c1b1b;--odds-btn-text: #e0e0e0;--match-row-bg: #1e1e1e;--match-row-hover: #2a2a2a;--time-col-bg: #4078f7;--badge-bg: #2a3b5c;--badge-text: #8bb4e6;--header-bg: #1e1e1e;--sidebar-bg: #1e1e1e}*{font-family:Montserrat,sans-serif;box-sizing:border-box}body,html{margin:0;padding:0;height:100%;width:100%;font-weight:500;background-color:var(--bg-color);color:var(--primary-text-color);overflow-y:auto!important}.app-container{display:flex;flex-direction:row;height:100vh;padding:10px;gap:12px;background-color:var(--bg-color);overflow:hidden;position:relative}.island{background-color:var(--surface-color);border-radius:12px;box-shadow:0 1px 4px #0000000d;display:flex;flex-direction:column;overflow:hidden}.top-island{height:52px;flex-shrink:0;justify-content:center;align-items:center;flex-direction:row}.flex-grow-island{flex:1;overflow-y:auto}.layout-col-left{display:flex;flex-direction:column;gap:12px;flex-shrink:0;transition:width .3s cubic-bezier(.25,.8,.25,1)}.layout-col-left.collapsed{width:60px}.layout-col-left.expanded{width:220px}.layout-col-center{display:flex;flex-direction:column;flex:1;gap:12px;overflow:hidden}.layout-col-right{display:flex;flex-direction:column;width:280px;gap:12px;flex-shrink:0}.layout-col-right .right-panel-island{background-color:transparent;box-shadow:none;padding:0}align-items: center; justify-content: center; .sports-tabs-island{justify-content:flex-start;padding:0 16px;overflow:hidden}.settings-island{justify-content:space-between;padding:0 16px;gap:16px}.menu-btn,.settings-btn{background:none;border:none;cursor:pointer;color:var(--primary-color);display:flex;align-items:center;justify-content:center}.header-tabs-scroll{flex:1;display:flex;overflow-x:auto;align-items:center;height:100%}.header-tabs-scroll::-webkit-scrollbar{display:none}.theme-toggle{display:flex;background-color:#f0f2f5;border-radius:20px;padding:2px;cursor:pointer}body.dark .theme-toggle{background-color:#2c2c2c}.theme-btn{background:transparent;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--secondary-color);cursor:pointer}.theme-btn.active{background-color:var(--primary-color);color:#fff;box-shadow:0 2px 4px #0000001a}.layout-content{display:flex;width:100%;gap:12px;margin-top:12px}.app-sidebar{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;padding:12px 0;overflow-y:auto}.sidebar-group-island{display:flex;flex-direction:column;padding:12px 10px}.layout-col-left.collapsed .sidebar-group-island{padding:12px 0;align-items:center}.sidebar-icon-item{display:flex;align-items:center;justify-content:flex-start;width:100%;padding:10px 14px;border-radius:8px;cursor:pointer;margin-bottom:4px;transition:background-color .2s}.layout-col-left.collapsed .sidebar-icon-item{width:44px;height:44px;padding:0;border-radius:50%;justify-content:center;margin-left:0;margin-right:0}.sidebar-icon-item:hover{background-color:var(--badge-bg)}.sidebar-icon-item.active{background-color:transparent}.sidebar-search-box{display:flex;align-items:center;background-color:#f0f2f5;border-radius:20px;padding:6px 12px;margin:6px 10px 14px}.sidebar-search-box input{border:none;background:transparent;outline:none;margin-left:8px;width:100%;font-size:13px}.sidebar-search-icon{display:flex;justify-content:center;align-items:center;height:44px;width:44px;margin:0 auto 10px;border-radius:50%;background-color:#f0f2f5}.dashboard-main{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:6px}.top-sports-tabs{display:flex;gap:8px;align-items:center}.sport-tab{position:relative;display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:10px;font-size:13px;font-weight:700;color:var(--primary-text-color);background-color:transparent;cursor:pointer;white-space:nowrap;box-shadow:#dcdcdc99 0 2.6px 7.8px}body.dark .sport-tab{box-shadow:#0006 0 2.6px 7.8px}.sport-tab.active{background-color:var(--primary-color);color:#fff}.tab-icon-wrap{display:flex;align-items:center}.tab-badges{position:absolute;top:-8px;right:-8px;display:flex;gap:2px}.badge-live,.badge-all{background-color:#dbe1e3;color:var(--primary-color);font-size:9px;font-weight:800;padding:2px 4px;border-radius:4px;box-shadow:0 1px 2px #0000001a}.sport-tab.active .badge-live{background-color:#fff;color:var(--primary-color)}.event-group{margin-bottom:16px;border-radius:8px;overflow:hidden;box-shadow:0 1px 4px #0000000d;background-color:var(--surface-color)}.live-events-section{margin-bottom:4px;background:var(--surface-color);border-radius:8px 8px 0 0;overflow:hidden;box-shadow:0 1px 3px #0000000f;padding:8px 12px 0}.live-events-header{display:flex;align-items:center;gap:6px;padding-bottom:6px}.le-signal-icon{color:#3bae6e;animation:liveSignalPulse 1.2s ease-in-out infinite}@keyframes liveSignalPulse{0%,to{opacity:1}50%{opacity:.35}}.live-events-title{font-size:13px;font-weight:700;color:var(--primary-text-color)}.live-chips-row{display:flex;align-items:center;gap:6px;padding-bottom:8px;overflow-x:auto;scrollbar-width:none}.live-chips-row::-webkit-scrollbar{display:none}.live-chip{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 18px 0 10px;background:var(--primary-color);color:#fff;font-size:11px;font-weight:700;border:none;cursor:pointer;white-space:nowrap;clip-path:polygon(0% 0%,calc(100% - 10px) 0%,100% 50%,calc(100% - 10px) 100%,0% 100%)}.live-chip.active{background:var(--primary-color);color:#fff}.live-chip-emoji{font-size:12px;line-height:1}.live-chip-label{font-size:11px;font-weight:700;letter-spacing:.1px}.event-header{background-color:var(--primary-color);color:#fff;padding:8px 12px;display:flex;align-items:center;font-size:13px;font-weight:600;gap:8px}.match-row-container{background-color:var(--match-row-bg);border-bottom:1px solid var(--border-color);display:flex;align-items:stretch}.match-row-container:last-child{border-bottom:none}.time-col-wrapper{position:relative;width:76px;height:48px;margin:6px;display:flex;justify-content:center;align-items:center}.time-col-wrapper.live:before,.time-col-wrapper.live:after,.time-col-wrapper.not-live:before,.time-col-wrapper.not-live:after{content:"";position:absolute;inset:0;border:2px solid var(--primary-color);border-radius:6px;box-sizing:border-box}.time-col-wrapper.not-live:before{clip:rect(0px,76px,12px,0px)}.time-col-wrapper.not-live:after{clip:rect(36px,76px,48px,0px)}.time-col-wrapper.live:before,.time-col-wrapper.live:after{animation:8s linear infinite clipMe}.time-col-wrapper.live:before{animation-delay:-4s}@keyframes clipMe{0%,to{clip:rect(0px,76px,2px,0px)}25%{clip:rect(0px,2px,48px,0px)}50%{clip:rect(46px,76px,48px,0px)}75%{clip:rect(0px,76px,48px,74px)}}.time-col{width:calc(100% - 6px);height:calc(100% - 6px);background-color:var(--time-col-bg);color:var(--time-col-text);display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:4px;text-align:center;position:relative;z-index:10;overflow:hidden}.time-col.not-live{background-color:var(--surface-color);color:var(--primary-color)}.time-col-slider{position:absolute;top:0;left:0;right:0;display:flex;flex-direction:column;animation:slideTimecol 4s ease-in-out infinite}.time-col-slide{width:100%;height:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}@keyframes slideTimecol{0%{transform:translateY(0)}35%{transform:translateY(0)}50%{transform:translateY(-42px)}85%{transform:translateY(-42px)}to{transform:translateY(0)}}.time-status{font-size:10px;font-weight:700;display:flex;align-items:center;gap:3px}.time-detail{font-size:10px;margin-top:2px;font-weight:600}.match-details{flex:1;display:flex;align-items:center;padding:6px 10px}.team-info{flex:1;display:flex;flex-direction:column}.team-name{font-size:12px;font-weight:600;color:var(--primary-color);margin-bottom:2px;display:flex;align-items:center;gap:4px}.subtitle{font-size:10px;color:var(--secondary-color)}.icons-col{display:flex;gap:4px;margin-right:12px;align-items:center}.icon-badge{display:flex;align-items:center;justify-content:center;color:var(--primary-color);border:1px solid var(--primary-color);border-radius:3px;padding:2px 4px;font-size:9px;font-weight:700}.tv-icon{color:var(--primary-color)}.odds-col{display:flex;gap:6px;align-items:center;padding-right:12px}.odd-group{display:flex;gap:2px}.odd-btn{width:44px;height:32px;border:none;border-radius:3px;font-size:12px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--odds-btn-text)}.odd-btn.back{background-color:var(--back-color);color:var(--odds-btn-text)}.odd-btn.lay{background-color:var(--lay-color);color:#c00}.odd-btn.empty{background-color:var(--bg-color);opacity:.5}.right-sidebar{width:100%;height:100%;display:flex;flex-direction:column}.betcard-container{background-color:#fff;border-radius:12px;min-height:50%;display:flex;flex-direction:column}.betlist-header{padding:12px;text-align:center;font-size:14px;font-weight:700;color:#0033a0;border-bottom:1px solid #e5e7eb}.empty-betlist{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:20px;color:var(--secondary-color)}.betlist-ticket{display:block;width:48px;height:48px;color:#cbd5e1}.empty-betlist h4{font-size:14px;font-weight:700;color:#1f2937;margin-top:8px;margin-bottom:8px}.empty-betlist p{font-size:11px;color:#6b7280;text-align:center}.match-page{padding:10px;font-size:13px}.tabs{display:flex;gap:8px;margin-bottom:8px}.tab{background:#ececec;border:none;padding:6px 14px;border-radius:10px;font-weight:600;cursor:pointer;box-shadow:0 2px 6px #f3f1f11f}.tab.active{background:#fff;border:2px solid var(--primary-color);color:var(--primary-color)}.market{background:#fff;margin-bottom:6px}.market-header{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;cursor:pointer}.market-title{display:flex;align-items:center;gap:14px}.market-ribbon{display:inline-flex;align-items:center;gap:8px;background:#fff;padding:6px 16px 6px 10px;font-weight:700;color:#1f4db8;position:relative;box-shadow:15px 6px 21px #55628e3b}.market-ribbon:after{content:"";position:absolute;top:0;right:-19.3px;width:0;height:0;border-left:10px solid white;border-top:15px solid white;border-right:10px solid transparent;border-bottom:14px solid transparent}.market-dot{width:8px;height:8px;border-radius:50%;background:#2ecc71}.market-volume{color:#2ecc71;font-size:12px;margin-left:7px}.market-live{color:#2ecc71;font-weight:700;font-size:12px}.market-row{display:flex;align-items:center;justify-content:space-between;padding:10px;background:#f1f1f1;border-bottom:1px solid #e0e0e0;margin-top:2px;margin-bottom:2px}.market-row:nth-child(2n){background:#e8e8e8}.team{display:flex;align-items:center;gap:10px;font-weight:600;min-width:220px}.team-badge{background:#fff;color:#1f4db8;font-weight:700;font-size:11px;padding:6px;border-radius:20px;box-shadow:0 2.61538px 7.84615px #dcdcdc99}.odds-grid{display:grid;grid-template-columns:repeat(6,44px);gap:6px;margin-left:auto}.odds-cell{height:38px;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;font-size:12px}.odds-cell span{font-size:10px}.odds-cell.empty{background:#d9d9d9}.odds-cell.back{background:#bde0ef;color:#0b5394}.odds-cell.lay{background:#f7cac9;color:#c00}.odds-cell.neutral{background:#d9d9d9;color:#444}.market-suspended{margin-left:auto;display:flex;align-items:center;justify-content:center;width:294px;height:38px;font-weight:700;border-radius:8px;background:linear-gradient(90deg,#8f949b 0% 16.66%,#8f949b 16.66% 33.33%,#8db5c8 33.33% 50%,#e3a0a4 50% 66.66%,#8f949b 66.66% 83.33%,#8f949b 83.33% 100%),repeating-linear-gradient(90deg,rgba(255,255,255,.2) 0px,rgba(255,255,255,.2) 1px,transparent 1px,transparent 50px)}.match-banner{position:relative;background:#1a1919;border-radius:8px;padding:18px 24px;color:#fff;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;overflow:hidden}.match-center{margin:auto;text-align:center;z-index:2}.match-teams{display:flex;align-items:center;justify-content:center;gap:18px;font-weight:700;letter-spacing:.5px}.match-time{background:#e6e6e6;padding:4px 14px;border-radius:8px;font-size:9px;font-weight:700;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#333;min-width:58px;line-height:1.1}.match-timer{display:flex;gap:18px;justify-self:start}.match-timer span{display:block;font-size:18px;font-weight:700}.match-timer small{font-size:9px;opacity:.8}.match-center{text-align:center;z-index:2}.team-name{color:#fff;font-size:16px}.pill-vs{display:flex;align-items:center;justify-content:center;height:32px;font-weight:800;font-size:12px;color:#000;background:#fff}.pill-time{display:flex;flex-direction:column}.match-time{display:flex;flex-direction:column;border-radius:8px;overflow:hidden;font-weight:700;min-width:60px}.match-day{background:#f2f2f2;font-size:9px;padding:3px 10px;text-align:center;color:#333}.match-hour{background:#d9d9d9;font-size:13px;padding:4px 10px;text-align:center;font-weight:800}.match-icons{justify-self:end;display:flex;gap:8px}.match-icons span{width:12px;height:12px;background:#fff;border-radius:50%;opacity:.9}.pill-slider{display:flex;flex-direction:column;animation:pillCycle 4s linear infinite}.match-pill{display:inline-block;border-radius:8px;overflow:hidden;height:32px}.match-pill{display:inline-block;border-radius:8px;overflow:hidden;height:32px;position:relative}.pill-slider{display:flex;flex-direction:column;animation:pillCycle 4s linear infinite;will-change:transform}.pill-slider>*{height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0}@keyframes pillCycle{0%{transform:translateY(-32px)}40%{transform:translateY(-32px)}50%{transform:translateY(0)}90%{transform:translateY(0)}to{transform:translateY(-32px)}}
