.calendar-card{background:var(--apex-surface-2);border:1px solid var(--apex-planned);border-left:3px solid var(--apex-data);border-radius:12px;padding:16px;margin:10px 0;color:var(--apex-text)}.calendar-card.is-match{border-left-color:var(--apex-watch);background:var(--apex-surface-2)}.calendar-card h3{margin:7px 0;font-size:17px}.calendar-card p{margin:7px 0;line-height:1.5}.calendar-card-top{display:flex;gap:12px;justify-content:space-between;align-items:center}.calendar-card time{font-variant-numeric:tabular-nums;font-weight:650}.calendar-venue,.calendar-card small{color:var(--apex-planned)}.calendar-note{white-space:pre-wrap;border-top:1px solid var(--apex-planned);padding-top:9px}.is-cancelled{opacity:.7;border-left-color:var(--apex-review)}.is-cancelled time{text-decoration:line-through}.cancelled-label{color:var(--apex-review)}.publication-badge{display:inline-block;border-radius:5px;background:var(--apex-surface-2);color:var(--apex-planned);padding:2px 6px;font-size:10px;white-space:nowrap}.publication-badge.published{background:var(--apex-selected);color:var(--apex-data)}.publication-badge.changed{background:var(--apex-watch-bg);color:var(--apex-watch)}.fc-event .publication-badge{font-size:9px;line-height:12px;max-width:100%;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.calendar-view-head h2{margin:12px 0}.player-shell .calendar-period{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0}.player-shell .calendar-period strong{font-size:14px;text-align:center}.player-shell .calendar-period button,.calendar-month-grid button{min-height:44px;background:var(--apex-selected);color:var(--apex-text);border:1px solid var(--apex-planned);border-radius:8px;cursor:pointer}.player-shell .calendar-period button{min-width:44px;font-size:24px}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-month-grid button{display:grid;place-content:center;gap:3px;min-height:55px;padding:4px}.calendar-month-grid small{font-size:9px;color:var(--apex-data)}.calendar-month-grid .weekday{text-align:center;font-size:11px;color:var(--apex-planned);padding:8px 0}.calendar-month-grid [aria-pressed=true]{border-color:var(--apex-data);background:var(--apex-selected)}.calendar-month-grid .is-today{outline:1px solid var(--apex-planned)}.calendar-day>h3{font-size:13px;color:var(--apex-planned);margin-top:25px}.calendar-empty{text-align:center;color:var(--apex-planned);padding:35px 10px}.calendar-modes{display:flex;flex-wrap:wrap;gap:6px}.calendar-modes button{min-height:44px}.calendar-modes [aria-pressed=true]{background:var(--apex-selected);color:var(--apex-data);border-color:var(--apex-data)}.player-sections{display:flex;gap:8px;margin:16px 0}.player-sections button{flex:1;min-height:49px;background:var(--apex-surface-2);border:1px solid var(--apex-planned);border-radius:10px;color:var(--apex-planned);font-size:16px;font-weight:650;cursor:pointer}.player-sections [aria-pressed=true]{background:var(--apex-selected);border-color:var(--apex-data);color:var(--apex-text)}.wellness-action-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.wellness-action-cards button{min-height:88px;text-align:left;padding:14px;background:var(--apex-selected);color:var(--apex-data);border:1px solid var(--apex-data);border-radius:12px;font-weight:650;cursor:pointer}.wellness-action-cards button[aria-selected=false]{background:var(--apex-selected);border-color:var(--apex-planned)}.wellness-action-cards small{display:block;margin-top:8px;font-weight:400}.publishing-page{background:var(--apex-surface-2);color:var(--apex-muted);padding:22px;border-radius:15px;min-height:65vh}.publishing-page h1{color:var(--apex-text)}.publishing-page input,.publishing-page select,.publishing-page textarea{background:var(--apex-selected);color:var(--apex-muted);border:1px solid var(--apex-planned);border-radius:7px;padding:9px;min-height:40px}.publishing-page input[type=checkbox]{min-height:20px;width:20px;accent-color:var(--apex-data)}.publishing-page button{background:var(--apex-selected);color:var(--apex-text);border:1px solid var(--apex-planned);border-radius:7px;padding:10px 14px;min-height:42px;cursor:pointer}.publishing-page button.primary{background:var(--apex-selected);border-color:var(--apex-data)}.publishing-page button:disabled{opacity:.4;cursor:default}.publication-tools,.publication-filters,.publication-stats{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0;align-items:end}.publication-filters label,.staff-form label{display:grid;gap:5px;font-size:12px}.publication-stats>div{padding:13px;background:var(--apex-selected);border-radius:8px;min-width:110px}.publication-stats strong{display:block;font-size:23px}.publication-table{overflow:auto}.publication-table table{width:100%;border-collapse:collapse}.publication-table th,.publication-table td{padding:11px 8px;border-bottom:1px solid var(--apex-planned);text-align:left;font-size:13px;color:var(--apex-muted);background:transparent}.publication-table tr:has(input:checked){background:var(--apex-surface-2)}.publication-preview{background:var(--apex-surface-2);border:1px solid var(--apex-planned);padding:20px;border-radius:12px;margin:20px 0}.publication-preview .confirm-line{display:flex;align-items:center;gap:12px;margin:15px 0}.publication-error{color:var(--apex-review);white-space:pre-wrap}.staff-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.staff-form .full{grid-column:1/-1}.publication-info{color:var(--apex-planned);font-size:13px;line-height:1.6}.publishing-page :focus-visible,.player-shell :focus-visible{outline:2px solid var(--apex-data);outline-offset:3px}@media(max-width:600px){.publishing-page{padding:12px}.publication-filters label{flex:1;min-width:130px}.staff-form{grid-template-columns:1fr}.calendar-card{padding:13px}.calendar-modes button{flex:1;font-size:12px}.wellness-action-cards{grid-template-columns:1fr}.player-shell{overflow-wrap:anywhere}}
.publication-heading h1{margin:0 0 8px}.publication-stats{display:grid;grid-template-columns:2fr repeat(3,minmax(85px,1fr)) 1.6fr;align-items:stretch}.publication-stats>div{min-width:0}.publication-stats .stat-label{font-size:14px;line-height:1.6;margin-top:6px}.publication-cloud-line{display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:var(--apex-text-secondary);font-size:12px}.publication-cloud-line button{margin-left:auto}.publication-presets{display:flex;flex-wrap:wrap;gap:6px;margin:22px 0 12px}.publication-presets [aria-pressed=true]{background:var(--apex-selected);color:var(--apex-text);border-color:var(--apex-data);box-shadow:inset 0 -3px var(--apex-accent);font-weight:700}.publication-selection label{display:inline-flex;align-items:center;gap:8px;font-size:13px}.publication-selection strong{margin-left:auto}.publication-table table{min-width:700px}.publication-table th{position:sticky;top:0;z-index:1;background:var(--apex-surface-2)}.publication-table{max-height:520px;border:1px solid var(--apex-border);border-radius:10px}.publication-table td small{display:block;line-height:1.6}.publication-table tr:has(input:checked){background:var(--apex-selected);box-shadow:inset 3px 0 var(--apex-data)}.publication-table tr:has(input:focus-visible){outline:2px solid var(--apex-focus);outline-offset:-2px}.publication-warning{color:var(--apex-watch);font-size:12px;line-height:1.7}.publication-actionbar{padding-top:18px}.publication-actionbar .publication-tools{margin-top:10px}.publication-preview-item{margin-top:22px}.publication-preview-item>h3{font-size:13px;color:var(--apex-text-secondary)}.publication-preview .calendar-card{margin-top:8px}.publication-result{padding:22px;background:var(--apex-surface-2);border:1px solid var(--apex-good);border-radius:12px}.publication-result h2{color:var(--apex-good)}.publication-result dl{display:flex;gap:20px;flex-wrap:wrap}.publication-result dt{font-size:12px;color:var(--apex-text-secondary)}.publication-result dd{margin:6px 0;font-weight:650}.publication-nav [aria-current=page]{border-bottom:3px solid var(--apex-accent);background:var(--apex-selected);color:var(--apex-text)}.calendar-month-grid [aria-pressed=true],.calendar-modes [aria-pressed=true],.player-sections [aria-pressed=true]{background:var(--apex-selected);border-color:var(--apex-data);color:var(--apex-text);box-shadow:inset 0 -3px var(--apex-accent)}.calendar-card{border-left-color:var(--apex-data)}.calendar-card.is-match{background:var(--activity-match-bg);border-left-color:var(--apex-accent)}.wellness-action-cards button{background:var(--apex-selected);color:var(--apex-text);border-color:var(--apex-control-border)}.wellness-action-cards button[aria-selected=true]{border-color:var(--apex-accent);box-shadow:inset 0 -3px var(--apex-accent)}.wellness-action-cards button[aria-selected=false]{background:var(--apex-surface-2);border-color:var(--apex-control-border)}.publication-badge{opacity:1}.calendar-card small,.calendar-card .calendar-venue{color:var(--apex-text-secondary)}.calendar-month-grid small{color:var(--apex-data)}.player-shell :focus-visible{outline:3px solid var(--apex-focus);outline-offset:3px}@media(max-width:900px){.publication-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.publication-stats>div:first-child{grid-column:span 2}.publication-filters label{min-width:140px;flex:1}}@media(max-width:600px){.publication-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.publication-stats>div:first-child{grid-column:1/-1}.publication-presets button{flex:1 0 30%;font-size:12px}.publication-selection strong{width:100%;margin-left:0}.publication-actionbar button{width:100%}.publication-preview{padding:14px}.publication-cloud-line small{width:100%}}

/* Public portal Month View: match days only; Coach FullCalendar is unaffected. */
.player-shell .calendar-month-grid button.portal-match-day{background:var(--apex-review-bg);border-color:var(--apex-accent);box-shadow:inset 0 -3px var(--apex-accent);color:var(--apex-text)}
.player-shell .calendar-month-grid .portal-match-day small{color:var(--apex-text-secondary)}
.player-shell .calendar-month-grid .portal-match-day[aria-pressed=true]{outline:2px solid var(--apex-focus);outline-offset:1px}
.match-day-mark{font-size:9px;margin-inline-start:3px;color:var(--apex-accent)}
