/* Public match calendar. Theme tokens come from the existing RLF light/dark themes. */
body.calendar-design{background:var(--bg)!important;color:var(--text)}
.calendar-design main{max-width:1320px;padding:12px 28px 42px}.calendar-design .toolbar{margin:6px 0 10px;font-size:12px}.calendar-page{--cal-glow:color-mix(in srgb,var(--accent2) 45%,#5434ed);--cal-blue:color-mix(in srgb,var(--accent) 64%,#4969ec);--cal-surface:var(--panel);--cal-soft:var(--panel2);color:var(--text)}
.calendar-hero{position:relative;isolation:isolate;overflow:hidden;min-height:296px;border:1px solid var(--line);border-radius:20px 20px 0 0;padding:20px 34px 30px;background:linear-gradient(90deg,#081733ed 0%,#0c1b3bbd 36%,#13285028 76%),url('/launch-assets/home-hero-live.jpg') center 46%/cover no-repeat;color:#fff}.calendar-hero:after{content:'';position:absolute;z-index:-1;inset:auto 0 0;height:70px;background:linear-gradient(transparent,#07142f8a)}.calendar-breadcrumb{font-size:12px;color:#e4eeff}.calendar-hero-copy{margin-top:45px;max-width:350px}.calendar-kicker{font-size:10px;letter-spacing:.16em;color:#b9e9ff;font-weight:800}.calendar-hero h1{font-size:clamp(38px,4.4vw,62px);line-height:1.02;letter-spacing:-.04em;margin:10px 0 12px;color:#fff!important}.calendar-hero p{font-size:15px;line-height:1.5;margin:0;max-width:330px;color:#e6efff}.calendar-hero-slogan{position:absolute;right:10%;bottom:25px;color:#fff;font-size:25px;line-height:1.03;font-style:italic;font-weight:800;text-shadow:0 3px 15px #06112b;transform:rotate(-6deg)}.calendar-hero-slogan:after{content:'';display:block;width:66px;height:3px;margin:9px 0;background:var(--accent2)}
.calendar-tabs{display:flex;gap:10px;flex-wrap:wrap;padding:14px 4px;margin:0;background:var(--cal-surface);border-inline:1px solid var(--line)}.calendar-page .calendar-tab{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:43px;padding:9px 17px;border:1px solid var(--line);border-radius:9px;background:var(--cal-soft);color:var(--text);font-size:13px;font-weight:700}.calendar-page .calendar-tab.active,.calendar-page .calendar-tab.active:hover{background:linear-gradient(110deg,var(--cal-blue),var(--cal-glow));border-color:transparent;color:#fff;box-shadow:0 4px 15px color-mix(in srgb,var(--accent2) 27%,transparent)}.calendar-page .calendar-tab:hover{border-color:var(--accent2)}
.calendar-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:14px;padding:14px 18px 20px;background:var(--cal-surface);border:1px solid var(--line);border-top:0;border-radius:0 0 16px 16px}.calendar-filters label{display:grid;gap:5px;min-width:0;color:var(--muted);font-size:12px;font-weight:700}.calendar-filters select{width:100%;min-height:45px;min-width:0;padding:9px 12px;border-radius:9px;background:var(--cal-soft);border:1px solid var(--line);color:var(--text);font-size:13px}.calendar-page #calendar-reset{min-height:45px;padding:7px 12px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:12px;white-space:nowrap}
.calendar-feature-grid{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(240px,1fr);gap:15px;margin-top:17px}.calendar-board,.calendar-feature,.calendar-results{min-width:0;background:var(--cal-surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.calendar-board{padding:18px}.calendar-board-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.calendar-board .calendar-month-nav{display:flex;align-items:center;gap:7px;margin:0}.calendar-board .calendar-month-nav h2{font-size:22px;margin:0 8px 0 0;text-transform:capitalize;color:var(--text);text-align:left}.calendar-page .calendar-month-nav button{display:grid;place-items:center;width:36px;height:36px;min-height:36px;min-width:36px;padding:0;border:1px solid var(--line);background:var(--cal-soft);color:var(--text);font-size:26px;line-height:1}.calendar-board-counts{display:flex;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:11px;font-weight:700}.calendar-board-counts span{white-space:nowrap}.calendar-board-counts i,.cal-dots i{display:inline-block;width:9px;height:9px;border-radius:3px;background:var(--cal-blue)}.calendar-board-counts i.live,.cal-dots i.live{background:var(--accent2)}.calendar-board-counts i.finished,.cal-dots i.finished{background:color-mix(in srgb,var(--accent) 35%,var(--muted))}
.calendar-page .calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-page .calendar-weekday{font-size:11px;font-weight:700;padding:3px 0 7px;color:var(--muted)}.calendar-page .calendar-day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:42px;padding:2px;background:var(--cal-soft);color:var(--text);border:1px solid var(--line);border-radius:6px;font-size:13px;font-weight:650}.calendar-page .calendar-day.empty-day{background:transparent;border-color:transparent}.calendar-page .calendar-day.has-matches{font-weight:800}.calendar-page .calendar-day:hover{border-color:var(--accent2)}.calendar-page .calendar-day.is-today{box-shadow:inset 0 2px var(--accent)}.calendar-page .calendar-day[aria-pressed=true]{background:linear-gradient(115deg,var(--cal-blue),var(--cal-glow));border-color:transparent;color:#fff;box-shadow:0 4px 14px color-mix(in srgb,var(--accent2) 35%,transparent)}.cal-dots{display:flex;gap:3px;height:8px;align-items:center}.cal-dots i{width:5px;height:5px;border-radius:50%}.calendar-feature{display:flex;flex-direction:column;justify-content:end;min-height:300px;padding:23px;background:linear-gradient(0deg,#07152ef0,#0a1e4c4d 62%),url('/launch-assets/home-footer-live.jpg') center/cover no-repeat;color:#fff}.calendar-feature span{color:#ade8ff;font-size:10px;font-weight:700;letter-spacing:.13em}.calendar-feature strong{font-size:29px;line-height:1.09;margin:11px 0}.calendar-feature p{font-size:13px;max-width:215px;margin:0;color:#edf5ff}
.calendar-results{margin-top:18px;overflow:hidden}.calendar-results-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px}.calendar-results-heading h2{font-size:23px;margin:0 0 3px;color:var(--text)}.calendar-results-heading p{color:var(--muted);font-size:11px;margin:0}.calendar-results-heading>div:last-child{display:flex;align-items:center;gap:10px;white-space:nowrap;color:var(--muted);font-size:12px}.calendar-page #calendar-all-month{padding:7px 10px;min-height:35px;font-size:11px;background:var(--cal-soft);color:var(--text);border:1px solid var(--line)}.cal-fixture-head{display:grid;grid-template-columns:90px 95px minmax(80px,1fr) minmax(300px,2.5fr) minmax(120px,1.2fr) 95px;gap:10px;padding:9px 14px;background:var(--cal-soft);color:var(--muted);font-size:11px}.cal-fixture{display:grid;grid-template-columns:90px 95px minmax(80px,1fr) minmax(300px,2.5fr) minmax(120px,1.2fr) 95px;grid-template-areas:'when status tournament teams venue more';align-items:center;gap:10px;padding:12px 14px;border-top:1px solid var(--line);font-size:12px;color:var(--text)}.cal-fixture:hover{background:var(--cal-soft);color:var(--text)}.cal-fixture-when{grid-area:when;display:flex;flex-direction:column;line-height:1.35}.cal-fixture-status{grid-area:status;justify-self:start;padding:4px 7px;border-radius:6px;background:var(--cal-soft);color:var(--muted);font-size:10px;font-weight:700}.cal-fixture-status.status-live{background:color-mix(in srgb,var(--accent2) 23%,var(--panel));color:var(--accent2)}.cal-fixture-status.status-finished{background:color-mix(in srgb,var(--success) 16%,var(--panel));color:var(--success)}.cal-fixture-tournament{grid-area:tournament;color:var(--muted);line-height:1.25}.cal-fixture-team{display:flex;align-items:center;gap:6px;min-width:0}.cal-fixture-team img{width:27px;height:30px;object-fit:contain;flex:none}.cal-fixture-team b{font-size:11px;line-height:1.25;overflow-wrap:anywhere}.cal-home{grid-area:home}.cal-away{grid-area:away}.cal-fixture-score{grid-area:score;text-align:center;font-size:16px;white-space:nowrap}.cal-fixture-venue{grid-area:venue;color:var(--muted);font-size:11px;line-height:1.3;overflow-wrap:anywhere}.cal-fixture-more{grid-area:more;padding:6px;border:1px solid var(--line);border-radius:6px;background:var(--cal-soft);text-align:center;font-size:11px}.cal-fixture{grid-template-columns:90px 95px minmax(80px,1fr) minmax(90px,1.2fr) 55px minmax(90px,1.2fr) minmax(120px,1.2fr) 95px;grid-template-areas:'when status tournament home score away venue more'}.calendar-empty{padding:18px;color:var(--muted);font-size:14px}.cal-undated{padding:15px 18px;border-top:1px solid var(--line)}.cal-undated summary{cursor:pointer;font-weight:700}.cal-undated .cal-fixtures{margin-top:12px}
@media(max-width:1100px){.calendar-feature-grid{grid-template-columns:minmax(0,1fr) 250px}.cal-fixture-head{display:none}.cal-fixture{grid-template-columns:75px 1fr 65px 1fr 85px;grid-template-areas:'when status status tournament tournament' 'home home score away away' 'venue venue venue more more';gap:6px 9px}.cal-fixture-team{min-height:34px}.cal-fixture-more{justify-self:end}.calendar-filters{grid-template-columns:repeat(2,minmax(0,1fr)) auto}.calendar-filters #calendar-reset{grid-column:3;grid-row:1/3}}
@media(max-width:740px){.calendar-design main{padding:0 12px 90px}.calendar-design .toolbar{margin:8px 0}.calendar-hero{border-radius:0;min-height:206px;margin:0 -12px;padding:13px 16px 18px;background-position:56% center}.calendar-breadcrumb{font-size:10px}.calendar-hero-copy{margin-top:26px;max-width:260px}.calendar-kicker{font-size:8px}.calendar-hero h1{font-size:35px;margin:7px 0}.calendar-hero p{font-size:11px;max-width:230px}.calendar-hero-slogan{display:none}.calendar-tabs{margin:0 -12px;padding:10px 12px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.calendar-tabs::-webkit-scrollbar{display:none}.calendar-page .calendar-tab{flex:none;min-height:42px;padding:8px 11px;font-size:11px;white-space:nowrap}.calendar-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0 -12px;padding:10px 12px;border-radius:0}.calendar-filters label{font-size:10px}.calendar-filters select{min-height:42px;font-size:11px;padding:7px}.calendar-filters #calendar-reset{grid-column:1/-1;grid-row:auto;min-height:40px}.calendar-feature-grid{display:block;margin-top:12px}.calendar-feature{display:none}.calendar-board{padding:12px}.calendar-board-heading{display:block}.calendar-board .calendar-month-nav{justify-content:space-between;margin-bottom:8px}.calendar-board .calendar-month-nav h2{font-size:17px;margin-right:auto}.calendar-board-counts{justify-content:space-between;font-size:9px;gap:4px;margin-bottom:10px}.calendar-page .calendar-day{min-height:38px;font-size:12px}.calendar-results{margin-top:13px;overflow:visible}.calendar-results-heading{padding:14px 12px;align-items:flex-start}.calendar-results-heading h2{font-size:19px}.calendar-results-heading p{font-size:9px;max-width:185px}.calendar-results-heading>div:last-child{display:flex;flex-direction:column;gap:3px;align-items:flex-end;font-size:10px}.cal-fixture{position:relative;grid-template-columns:minmax(0,1fr) 65px minmax(0,1fr);grid-template-areas:'when when status' 'tournament tournament tournament' 'home score away' 'venue venue venue';gap:7px;padding:11px;margin:0 0 7px;border:1px solid var(--line);border-radius:9px;background:var(--cal-surface)}.cal-fixtures{padding:0 8px 8px}.cal-fixture-team{min-height:34px}.cal-fixture-team b{font-size:10px}.cal-fixture-team img{width:25px;height:28px}.cal-fixture-score{font-size:16px}.cal-fixture-when{flex-direction:row;gap:5px;font-size:10px}.cal-fixture-tournament{font-size:10px}.cal-fixture-status{justify-self:end;font-size:9px}.cal-fixture-venue{font-size:10px}.cal-fixture-more{display:none}.calendar-design footer{margin-bottom:70px}}
