.daily-odds-block{color:hsl(var(--foreground-body));margin-bottom:var(--block-spacing);margin-top:0}.daily-odds-block .date-tabs{display:flex;gap:.8rem;margin-bottom:1rem;overflow-x:auto;padding-bottom:.4rem;scrollbar-width:thin}.daily-odds-block .date-tab{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - .7rem);color:hsl(var(--foreground-body));cursor:pointer;display:grid;flex:0 0 auto;font:inherit;gap:.2rem;line-height:1.2;min-height:5.6rem;min-width:10rem;padding:.8rem 1.2rem;text-align:left;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.daily-odds-block .date-tab span{font-size:1.35rem;font-weight:800}.daily-odds-block .date-tab small{color:hsl(var(--foreground-muted));font-size:1.1rem;font-weight:700}.daily-odds-block .date-tab:hover{border-color:hsl(var(--primary)/.4)}.daily-odds-block .date-tab:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.daily-odds-block .date-tab.is-active{background:hsl(var(--primary));border-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.daily-odds-block .date-tab.is-active small{color:hsl(var(--primary-foreground)/.72)}.daily-odds-block .status{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;justify-content:space-between;line-height:1.3}.daily-odds-block .preview-note,.daily-odds-block .status{color:hsl(var(--foreground-muted));font-size:1.1rem;font-weight:700;margin-bottom:1.2rem}.daily-odds-block .preview-note{background:hsl(var(--background-secondary,216 33% 97%));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - .8rem);line-height:1.4;padding:.8rem 1rem}.daily-odds-block .day-panel[hidden]{display:none}.daily-odds-block .day-panel{display:grid;gap:1.6rem}.daily-odds-block .league{--match-columns:7rem minmax(0,1fr) minmax(38rem,44%);background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - .5rem);box-shadow:var(--shadow-sm);overflow:hidden}.daily-odds-block .league-header{align-items:center;background:hsl(var(--background-secondary,216 33% 97%));border-bottom:1px solid hsl(var(--border));display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.4rem}.daily-odds-block .league-header h3{color:hsl(var(--foreground));font-size:1.5rem;font-weight:700;line-height:1.25;margin:0}.daily-odds-block .league-header span{color:hsl(var(--foreground-muted));font-size:1.1rem;font-weight:700;white-space:nowrap}.daily-odds-block .match-headings{border-bottom:1px solid hsl(var(--border));color:hsl(var(--foreground-muted));display:grid;font-size:1rem;font-weight:700;gap:1.4rem;grid-template-columns:var(--match-columns);line-height:1.2;padding:.7rem 1.4rem;text-transform:uppercase}.daily-odds-block .match-headings span:last-child{border-left:1px solid hsl(var(--border)/.75);padding-left:1.4rem}.daily-odds-block .matches{display:grid}.daily-odds-block .match{align-items:center;border-bottom:1px solid hsl(var(--border)/.75);display:grid;gap:1.4rem;grid-template-columns:var(--match-columns);min-height:8rem;padding:1rem 1.4rem}.daily-odds-block .match:last-child{border-bottom:0}.daily-odds-block .match>time{color:hsl(var(--foreground-muted));font-size:1.2rem;font-weight:600;line-height:1.25;white-space:nowrap}.daily-odds-block .teams{align-items:center;display:grid;gap:.8rem;grid-template-columns:minmax(0,1fr) 2.4rem minmax(0,1fr);min-width:0}.daily-odds-block .team{align-items:center;color:hsl(var(--foreground));display:flex;font-size:1.35rem;font-weight:600;gap:.6rem;line-height:1.3;min-width:0}.daily-odds-block .team:last-child{justify-content:flex-end;text-align:right}.daily-odds-block .team>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daily-odds-block .flag{border-radius:.2rem;box-shadow:0 0 0 1px hsl(var(--border));flex:0 0 auto;height:1.65rem;object-fit:cover;width:2.2rem}.daily-odds-block .versus{color:hsl(var(--foreground-muted));font-size:1rem;font-weight:600;text-align:center;text-transform:uppercase}.daily-odds-block .odds{border-left:1px solid hsl(var(--border)/.75);display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));min-width:0;padding-left:1.4rem}.daily-odds-block .outcome{background:hsl(var(--background-secondary,216 33% 97%));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - .8rem);color:hsl(var(--foreground-body));display:grid;gap:.2rem .6rem;grid-template-columns:minmax(0,1fr) auto;line-height:1.15;min-width:0;padding:.7rem .8rem;text-decoration:none;transition:border-color .15s ease,background-color .15s ease}.daily-odds-block .outcome:hover{background:hsl(var(--primary-light));border-color:hsl(var(--primary))}.daily-odds-block .outcome:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.daily-odds-block .outcome strong{color:hsl(var(--primary));font-size:1.35rem;font-weight:800}.daily-odds-block .outcome small{color:hsl(var(--foreground-muted));font-size:.95rem;grid-column:1/-1}.daily-odds-block .outcome small,.daily-odds-block .outcome-label{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daily-odds-block .outcome-label{font-size:1.05rem}.daily-odds-block .empty{background:hsl(var(--background-secondary,216 33% 97%));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - .5rem);color:hsl(var(--foreground-muted));margin:0;padding:2rem;text-align:center}@media(max-width:980px){.daily-odds-block .match-headings{display:none}.daily-odds-block .match{grid-template-columns:6rem minmax(0,1fr);min-height:0}.daily-odds-block .odds{border-left:0;grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));padding-left:7.2rem}}@media(max-width:640px){.daily-odds-block .date-tab{min-width:9rem}.daily-odds-block .status{display:grid}.daily-odds-block .match{gap:.8rem;grid-template-columns:1fr;padding:1.2rem}.daily-odds-block .teams{gap:.4rem;grid-template-columns:1fr}.daily-odds-block .team:last-child{justify-content:flex-start;text-align:left}.daily-odds-block .versus{padding-left:2.2rem}.daily-odds-block .odds{grid-column:auto;grid-template-columns:1fr;padding-left:0}.daily-odds-block .outcome{padding:.8rem 1rem}}