/* Match the current Athlete / Brand palette; no independent white surfaces. */
.form-calendar{padding-bottom:7rem}
.cal-top-actions,.cal-scope,.cal-card-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.cal-top-actions{justify-content:flex-end;margin:20px 0}
.cal-demo{padding:14px 18px;background:var(--soft,var(--card2));color:var(--text);border-radius:12px;font-size:.85rem}
.cal-search{display:grid;grid-template-columns:minmax(200px,2fr) minmax(120px,1fr) minmax(120px,1fr) minmax(120px,1fr);gap:14px;margin:24px 0 16px}
.cal-search label,.cal-dialog label{display:flex;flex-direction:column;gap:8px;font-size:.78rem;font-weight:700}
.cal-search input,.cal-search select,.cal-dialog input,.cal-dialog textarea{width:100%;min-height:46px;box-sizing:border-box;background:var(--bw-panel,var(--panel,var(--card)));color:var(--text);border:1px solid var(--bw-line,var(--line));border-radius:10px;padding:12px;font:inherit}
.cal-scope{margin-bottom:24px}
.cal-scope button,.cal-card-actions button,.cal-card-actions a,.cal-month-filter{min-height:44px;border:1px solid var(--bw-line,var(--line));border-radius:8px;padding:10px 14px;background:var(--bw-panel,var(--panel,var(--card)));color:var(--text);font-size:.78rem;font-weight:650;text-decoration:none}
.cal-scope button[aria-pressed=true],.cal-card-actions button[aria-pressed=true]{background:var(--text);color:var(--bw-panel,var(--panel,var(--solid)));border-color:var(--text)}
.cal-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start}
.cal-month{position:sticky;top:95px;border:1px solid var(--bw-line,var(--line));background:var(--bw-panel,var(--panel,var(--card)));border-radius:18px;padding:16px}
.cal-month header{display:flex;align-items:center;justify-content:space-between;gap:8px}
.cal-month header h2{font-size:1rem;text-transform:capitalize}
.cal-month header button{width:44px;height:44px;background:transparent;border:1px solid var(--bw-line,var(--line));border-radius:50%;color:var(--text)}
.cal-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:16px 0}
.cal-days>span{text-align:center;font-size:.72rem;color:var(--bw-muted,var(--muted));padding:8px 0}
.cal-days button{min-height:44px;position:relative;border:1px solid transparent;background:transparent;border-radius:9px;color:var(--text)}
.cal-days button b{font-size:.8rem}
.cal-days button.has-events{background:var(--soft,var(--card2));color:var(--text)}
.cal-days button small{position:absolute;right:2px;bottom:1px;font-size:.6rem}
.cal-days button[aria-pressed=true]{background:var(--text);color:var(--bw-panel,var(--panel,var(--solid)));border-color:var(--text)}
.cal-month-filter{display:block;width:100%;margin-top:8px;font-size:.7rem}
.cal-month-filter[aria-pressed=true]{background:var(--soft,var(--card2));color:var(--text)}
.cal-result-count{font-size:.8rem;margin:0 0 14px;color:var(--bw-muted,var(--muted))}
.cal-event{display:flex;gap:20px;background:var(--bw-panel,var(--panel,var(--card)));border:1px solid var(--bw-line,var(--line));border-radius:18px;padding:22px;margin-bottom:14px}
.cal-event-date{display:flex;flex-direction:column;flex:0 0 58px;text-align:center;align-self:flex-start;color:var(--text);border-right:1px solid var(--bw-line,var(--line));padding-right:16px}
.cal-event-date b{font-size:2rem;font-weight:800;line-height:1.05}
.cal-event-date span{font-size:.8rem;margin-top:5px;text-transform:uppercase}
.cal-event-date small{font-size:.7rem;color:var(--bw-muted,var(--muted));margin-top:4px}
.cal-event-copy{min-width:0;flex:1}
.cal-event h2{font-size:1.28rem;line-height:1.2;margin:12px 0 9px;overflow-wrap:anywhere}
.cal-event-copy>p{font-size:.8rem;color:var(--bw-muted,var(--muted));line-height:1.55;margin:7px 0}
.cal-labels{display:flex;gap:7px;flex-wrap:wrap}
.cal-labels span{font-size:.6rem;font-weight:700;text-transform:uppercase;background:var(--soft,var(--card2));border-radius:5px;padding:5px 7px;color:var(--bw-muted,var(--muted))}
.cal-card-actions{margin-top:16px;gap:8px}
.cal-card-actions button,.cal-card-actions a{font-size:.65rem;padding:9px 11px;min-height:44px}
.cal-description{white-space:pre-wrap}
.cal-empty{border:1px dashed var(--bw-line,var(--line));border-radius:16px;padding:28px;font-size:.9rem}
.cal-empty h2{font-size:1.15rem}
.cal-empty p{line-height:1.6;color:var(--bw-muted,var(--muted))}
.cal-dialog{width:min(610px,calc(100vw - 32px));max-height:90dvh;overflow:auto;padding:30px}
.cal-dialog h2{margin:10px 32px 12px 0}
.cal-dialog>p{font-size:.85rem;line-height:1.5;color:var(--bw-muted,var(--muted))}
.cal-dialog form{display:flex;flex-direction:column;gap:16px}
.cal-form-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cal-dialog label.cal-publish{display:flex;flex-direction:row;align-items:flex-start;gap:12px;line-height:1.4}
.cal-publish input{width:20px;min-height:20px;flex:0 0 20px;margin:0}
.cal-publish span{display:flex;flex-direction:column;gap:7px}
.cal-publish small{font-weight:400;color:var(--bw-muted,var(--muted))}
.cal-sport-pills{display:flex;gap:8px;flex-wrap:wrap}
.cal-sport-pills button{border:1px solid var(--bw-line,var(--line));background:transparent;color:var(--text);border-radius:999px;font-size:.7rem;font-weight:700;min-height:44px;padding:10px 18px;cursor:pointer}
.cal-sport-pills button.active{background:var(--text);color:var(--bw-panel,var(--panel,var(--solid)));border-color:var(--text)}
.cal-roster-sports{margin:22px 0 16px}
.cal-public-count{font-size:.76rem;padding:0 2px;color:var(--bw-muted,var(--muted))}
.form-calendar button:focus-visible,.cal-sport-pills button:focus-visible{outline:3px solid var(--text);outline-offset:3px}
@media(max-width:1000px){.cal-layout{grid-template-columns:260px minmax(0,1fr);gap:16px}
.cal-search{grid-template-columns:1fr 1fr}
.cal-event{gap:12px;padding:16px}
.cal-event-date{flex-basis:42px;padding-right:10px}
.cal-event h2{font-size:1.12rem}
.cal-month{padding:12px}}
@media(max-width:700px){.cal-layout{grid-template-columns:1fr}
.cal-month{position:static;max-width:420px;width:100%;box-sizing:border-box}
.cal-days button{height:45px}
.cal-top-actions{justify-content:flex-start}
.cal-search{gap:10px}
.cal-search label:first-child{grid-column:1/-1}
.cal-search label:nth-child(2){grid-column:1/-1}
.cal-scope{gap:7px}
.cal-scope button{font-size:.72rem;padding:8px 10px}
.cal-dialog{padding:22px}
.cal-form-two{grid-template-columns:1fr}
.cal-event{border-radius:12px}
.cal-card-actions button,.cal-card-actions a{min-height:44px}
.cal-sport-pills{gap:6px}
.cal-sport-pills button{font-size:.65rem;padding:8px 12px}}
@media(prefers-reduced-motion:reduce){.form-calendar *{scroll-behavior:auto!important}}

.cal-search input::placeholder,.cal-dialog input::placeholder,.cal-dialog textarea::placeholder{color:var(--bw-muted,var(--muted));opacity:1}
.cal-search input,.cal-search select,.cal-dialog input,.cal-dialog textarea{background:var(--soft,var(--card2))}

.cal-dialog input:focus-visible,.cal-dialog textarea:focus-visible,.cal-search input:focus-visible,.cal-search select:focus-visible,.cal-card-actions a:focus-visible{outline:3px solid var(--text);outline-offset:3px}
.form-calendar button,.cal-sport-pills button{cursor:pointer}

/* Editorial event cards: local generated scenes, accessible live text below. */
html[data-theme] #app .form-calendar .cal-event--catalog{display:block;min-width:0;padding:0!important;overflow:hidden;background:var(--es-panel)!important;border-color:var(--es-line)!important}
html[data-theme] #app .cal-event-cover{margin:0;background:var(--es-soft);position:relative;min-width:0}
html[data-theme] #app .cal-event-cover img{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover}
html[data-theme] #app .cal-event-cover figcaption{display:block;padding:7px 16px;border-bottom:1px solid var(--es-line);font-size:calc(.6875rem * var(--elan-ui-scale,1));line-height:1.4;color:var(--es-muted);background:var(--es-panel)}
html[data-theme] #app .cal-event--catalog .cal-event-copy{padding:18px;min-width:0;max-width:100%;box-sizing:border-box}
html[data-theme] #app .cal-event--catalog h2{font-size:calc(1.1875rem * var(--elan-ui-scale,1))!important;line-height:1.25;letter-spacing:-.025em;margin:10px 0;color:var(--es-ink)!important}
html[data-theme] #app .cal-event--catalog .cal-event-copy>p{font-size:calc(.875rem * var(--elan-ui-scale,1));line-height:1.5;color:var(--es-muted)!important;margin:6px 0;overflow-wrap:anywhere}
html[data-theme] #app .cal-event--catalog .cal-catalog-date{font-weight:550;color:var(--es-ink)!important}
html[data-theme] #app .cal-event--catalog .cal-labels span{background:var(--es-soft);color:var(--es-muted);font-size:calc(.6875rem * var(--elan-ui-scale,1));font-weight:550;text-transform:none;letter-spacing:0;border-radius:999px;padding:5px 9px}
html[data-theme] #app .cal-event--catalog .cal-source-note{display:block;color:var(--es-muted)!important;font-size:calc(.75rem * var(--elan-ui-scale,1));line-height:1.5;margin:10px 0 0;overflow-wrap:anywhere}
html[data-theme] #app .cal-event--catalog .cal-card-actions{gap:8px;margin:14px 0;min-width:0;max-width:100%}
html[data-theme] #app .cal-event--catalog .cal-card-actions :is(button,a){box-sizing:border-box;min-width:44px;max-width:100%;min-height:44px;height:auto;font:500 calc(.8125rem * var(--elan-ui-scale,1))/1.4 var(--elan-ui-font,system-ui);padding:9px 13px;border-radius:999px;white-space:normal;overflow-wrap:anywhere;color:var(--es-ink);border-color:var(--elan-pill-line,var(--es-line));background:transparent}
html[data-theme] #app .cal-event--catalog .cal-card-actions [data-cal-use]{background:var(--elan-pill-fill);color:var(--elan-pill-fill-ink);border-color:var(--elan-pill-fill)}
html[data-theme] #app .cal-event--catalog .cal-card-actions [aria-pressed="true"]{background:var(--es-soft);color:var(--es-ink)}
html[data-theme] #app .form-calendar .cal-results{min-width:0}
@media(max-width:600px){html[data-theme] #app .cal-event--catalog .cal-event-copy{padding:15px}}
