:root,[data-bs-theme=dark]{--bg:#0a1a2f;--panel:#102b49;--box:#0b2240;--head:#16385c;--line:#1d3f66;--orange:#f58634;--orange-d:#e0721f;--txt:#e8eef6;--muted:#8fa6bf;
 --bs-body-bg:var(--bg);--bs-body-color:var(--txt);--bs-border-color:var(--line);--bs-success:#f58634;--bs-success-rgb:245,134,52;--bs-link-color:var(--orange);--bs-link-hover-color:#ffa96a;--bs-link-color-rgb:245,134,52;
 --bs-card-bg:var(--panel);--bs-secondary-bg:var(--panel);--bs-tertiary-bg:var(--box)}
body{background:var(--bg);color:var(--txt);padding-bottom:66px;font-size:.95rem}
a{text-decoration:none}
.btn-success{--bs-btn-bg:var(--orange);--bs-btn-border-color:var(--orange);--bs-btn-hover-bg:var(--orange-d);--bs-btn-hover-border-color:var(--orange-d);--bs-btn-active-bg:var(--orange-d);--bs-btn-active-border-color:var(--orange-d);--bs-btn-color:#fff;--bs-btn-hover-color:#fff;--bs-btn-disabled-bg:#8a5a33;--bs-btn-disabled-border-color:#8a5a33}
.btn-outline-light{--bs-btn-color:#fff}
.form-control,.form-select{background-color:var(--box);border-color:var(--line);color:#fff}
.form-control:focus,.form-select:focus{background-color:var(--box);border-color:var(--orange);box-shadow:0 0 0 .15rem rgba(245,134,52,.25);color:#fff}
.card{background:var(--panel);border-color:var(--line)}
.list-group-item,.table{--bs-table-bg:transparent;--bs-list-group-bg:var(--panel);background:var(--panel);border-color:var(--line);color:var(--txt)}
.nav-pills .nav-link{color:var(--txt)}.nav-pills .nav-link.text-success{color:var(--orange)!important}.nav-pills .nav-link.active{background:var(--orange)!important;color:#fff!important}
.demo-bar{background:#ffc107;color:#000;text-align:center;font-size:.75rem;padding:2px}

/* top bar */
.topbar{background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}
.tb-in{display:flex;align-items:center;gap:14px;padding:8px 12px;max-width:1700px;margin:auto}
.brand{color:#fff;font-weight:800;font-size:1.25rem;letter-spacing:1px;line-height:1;display:flex;flex-direction:column}
.brand small{font-size:.5rem;color:var(--orange);letter-spacing:2px;font-weight:600}
.brand::before{content:"";display:block;height:0}
.tb-nav{gap:26px;margin-left:30px}.tb-nav a{color:#fff;font-weight:600;font-size:.85rem}.tb-nav a:hover{color:var(--orange)}
.tb-right{margin-left:auto;display:flex;gap:8px;align-items:center}
.tb-btn{background:#12304f;color:#fff;border-radius:3px;padding:8px 22px;font-weight:600;font-size:.85rem}.tb-btn:hover{background:var(--head);color:#fff}
.burger{background:none;border:0;color:var(--orange);font-size:1.7rem;line-height:1;padding:0 4px}
.offcanvas{background:var(--bg);color:#fff;width:290px}

/* layout */
.app{max-width:1700px;margin:auto}
.main{padding:12px}
.side{background:var(--bg);padding:8px;border-right:1px solid var(--line)}
.right{padding:12px 10px}
.sticky-slip{position:sticky;top:64px}
.sb{padding:8px}
.sb-btn{display:block;background:var(--orange);color:#fff;text-align:center;font-weight:700;padding:10px;border-radius:3px;margin-bottom:6px}
.sb-btn:hover{background:var(--orange-d);color:#fff}
.sb-item{display:block;color:#fff;padding:9px 10px;font-weight:600;font-size:.9rem;border-radius:2px}
.sb-item small{color:var(--muted);font-weight:400}.sb-item.sub{font-weight:600;color:#dbe6f3;padding-left:14px}
.sb-item.on{background:var(--orange)}.sb-item:hover:not(.on){background:var(--panel);color:var(--orange)}
.rt-tabs{display:flex;gap:6px;margin-bottom:10px}.rt-tabs a{flex:1;text-align:center;padding:10px;border-radius:3px;background:#12304f;color:#fff;font-weight:700;font-size:.85rem}.rt-tabs a.on{background:var(--orange)}

/* hero + tabs + headings */
.hero{background:radial-gradient(ellipse at 70% 40%,#3a2bd6 0%,#1a1b6e 45%,#0a1030 100%);border-radius:4px;min-height:96px;display:flex;align-items:center;justify-content:space-between;padding:16px 26px;overflow:hidden;margin:-12px -12px 0}
.hero h2{margin:0;font-weight:800;color:#fff}.hero p{margin:0;color:#c9d6ff}.hero .ball{font-size:3.4rem;filter:drop-shadow(0 4px 12px rgba(0,0,0,.5))}
.sport-tabs{display:flex;background:var(--head);margin:0 -12px 14px;border-bottom:1px solid var(--line)}
.sport-tabs a{color:#fff;font-weight:600;padding:12px 16px;border-bottom:2px solid transparent}.sport-tabs a.on{color:var(--orange);border-bottom-color:var(--orange)}
.sec-title{font-weight:700;margin:16px 0 10px;display:flex;justify-content:space-between;align-items:baseline;color:#fff;font-size:1.05rem}
.chip{display:inline-block;background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:3px 12px;margin:0 4px 6px 0;font-size:.82rem;color:#fff}.chip:hover{border-color:var(--orange);color:var(--orange)}
.empty{background:var(--panel);padding:20px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:6px}

/* logos */
.logo-xs{width:20px;height:20px;object-fit:contain;flex:none}.logo-sm{width:28px;height:28px;object-fit:contain}.logo-md{width:56px;height:56px;object-fit:contain}.logo-lg{width:64px;height:64px;object-fit:contain}
.logo-ph{display:inline-flex;align-items:center;justify-content:center;background:#e9eef5;color:#c8372d;border-radius:50% 50% 45% 45%;font-weight:800;font-size:.7rem;flex:none}
.logo-md.logo-ph{font-size:1.4rem}.logo-lg.logo-ph{font-size:1.6rem}

/* odds buttons */
.odd-btn{border:0;background:var(--box);border-radius:3px;color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 4px;line-height:1.15;min-width:52px}
.odd-btn small{color:var(--muted);font-size:.68rem}.odd-btn b{font-weight:500;font-size:.92rem}
.odd-btn.compact{height:38px}
.odd-btn:hover:not(:disabled):not(.disabled){background:var(--head)}
.odd-btn.active{background:var(--orange)!important}.odd-btn.active small{color:#fff}
.odd-btn:disabled,.odd-btn.disabled{opacity:.5;cursor:not-allowed}.odd-btn.disabled{background:#3d4c63;color:#aab}

/* PHONE match card */
.mcard{background:var(--panel);border-radius:6px;padding:14px 12px 12px;margin-bottom:12px}
.mc-title{text-align:center;font-weight:700;color:#fff;margin-bottom:8px}
.mc-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:6px;align-items:start}
.mc-side{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;font-size:.85rem;color:#fff;padding-top:6px}
.mc-mid{text-align:center;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:150px}
.mc-mid .dt{font-size:.82rem;color:#e6eef8}.mc-mid .mk{font-weight:700;color:#fff;margin-bottom:6px}.mc-mid .sc{font-weight:800;font-size:1.5rem;color:var(--orange)}
.btn-more{background:var(--orange);color:#fff;font-weight:700;padding:8px 0;border-radius:3px;width:100%;display:block}.btn-more:hover{background:var(--orange-d);color:#fff}
.mc-odds3{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:10px}

/* DESKTOP row */
.drow{background:var(--panel);margin-bottom:12px;border-radius:2px;overflow:hidden}
.dgrid{display:grid;grid-template-columns:34px minmax(190px,1fr) 168px 112px 112px 52px;align-items:center;gap:4px;padding:0 6px}
.dhead{background:var(--head);min-height:38px;font-size:.78rem;color:#fff;font-weight:600}
.dhead .ttl{line-height:1.15;padding:4px 0;font-size:.74rem}.dhead .ic{text-align:center}
.grp{display:flex;gap:4px}.grp>*{flex:1}.dhead .grp i{flex:1;text-align:center;font-style:normal;font-size:.72rem;color:#dbe6f3;white-space:nowrap}
.more-h{text-align:center}
.dbody{padding-top:10px;padding-bottom:10px}
.teams{display:flex;flex-direction:column;gap:6px;color:var(--orange);font-weight:500}.teams:hover{color:#ffa96a}
.tm{display:flex;align-items:center;gap:8px;min-width:0}.tm .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm b{margin-left:auto;color:#fff;padding-right:6px}
.more-b{background:var(--box);color:#fff;text-align:center;padding:9px 0;border-radius:3px;font-weight:600}.more-b:hover{background:var(--head);color:#fff}

/* match details page */
.match-card{background:var(--panel);border-radius:6px;padding:14px}
.market-box{background:var(--panel);border-radius:6px;margin-bottom:10px;overflow:hidden}.market-box h6{background:var(--head);margin:0;padding:10px 12px;color:#fff}
.market-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px;padding:10px}
.market-grid .odd-btn{background:var(--box)}

/* slip */
.slip-box{background:var(--panel);border:0;border-radius:4px}
.slip-box .card-header{background:var(--head)!important;border:0;color:#fff}
.slip-box .badge{background:var(--orange)!important;color:#fff!important}
.slip-item{border-bottom:1px solid var(--line);padding:8px 0;font-size:.85rem;color:#fff}.slip-item.bad{background:rgba(220,53,69,.15)}
.slip-item .x{float:right;border:0;background:none;font-size:1.2rem;line-height:1;color:#ff7b7b}
.slip-win{color:var(--orange)!important}
.text-muted,.text-body-secondary{color:var(--muted)!important}

/* bottom nav (phone) */
.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#0d2440;border-top:1px solid var(--line);display:flex;z-index:50;padding-bottom:env(safe-area-inset-bottom)}
.bottom-nav a{flex:1;text-align:center;color:#fff;font-size:.72rem;font-weight:600;padding:6px 0 7px}
.bottom-nav i{display:block;font-style:normal;font-size:1.25rem;line-height:1.3;position:relative}
.bottom-nav .badge{position:absolute;top:-2px;margin-left:2px;font-size:.6rem;background:var(--orange);color:#fff}
.site-foot{background:#07142a;color:#9fb3cc;padding:18px 14px;text-align:center}
.auth-card{max-width:440px;margin:20px auto}
.filters .form-control,.filters .form-select{height:42px}
@media(min-width:1200px){body{padding-bottom:0}.main{padding:12px 14px}.hero{margin:-12px -14px 0}.sport-tabs{margin:0 -14px 14px}}
@media(min-width:1200px){.side .sb{position:sticky;top:64px;max-height:calc(100vh - 72px);overflow-y:auto}}
