.programs-page{display:grid;gap:1.25rem;padding-top:1.5rem}.programs-page h1{font-size:1.8rem;margin:0}.programs-intro{color:var(--text-secondary);margin:0}.programs-empty{color:var(--text-secondary);padding:2rem 0}.programs-grid{display:grid;gap:1rem}.programs-toggle{display:flex;gap:.5rem}.program-card{display:grid;grid-template-columns:168px minmax(0,1fr);gap:1rem;align-items:start;border:1px solid var(--border-color);border-radius:14px;padding:1rem;background:var(--surface-1)}.program-card-image{width:168px;height:168px;object-fit:contain;border-radius:10px;border:1px solid var(--border-color);background:var(--panel)}.program-card-body{display:grid;gap:.35rem;min-width:0}.program-card-body h2{margin:0;font-size:1.1rem;overflow-wrap:anywhere}.program-card-when,.program-card-where{color:var(--text-secondary);font-size:.92rem;margin:0}.program-card-cancelled{opacity:.75}.program-card-cancelled-note{color:var(--danger);font-size:.92rem;margin:0}.program-card:has(>.program-card-body:only-child){grid-template-columns:minmax(0,1fr)}@media (max-width:640px){.program-card{grid-template-columns:1fr}.program-card-image{width:100%;height:auto;max-height:320px}.program-card:has(>.program-card-body:only-child){grid-template-columns:1fr}}.cal-wrap{display:grid;gap:1rem}.cal-nav{display:flex;align-items:center;gap:.5rem}.cal-month{flex:1 1;text-align:center;margin:0;font-size:1.05rem;font-weight:650}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.cal-weekday{color:var(--text-secondary);font-size:.72rem;font-weight:600;text-align:center;text-transform:uppercase;letter-spacing:.04em;padding:.15rem 0}.cal-day{min-height:92px;min-width:0;display:flex;flex-direction:column;gap:4px;padding:6px;border:1px solid var(--border-color);border-radius:10px;background:var(--surface-1)}.cal-day-pad{border-color:transparent;background:transparent}.cal-day-num{align-self:flex-start;min-width:1.6rem;height:1.6rem;padding:0 .3rem;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:transparent;color:var(--text-secondary);font:inherit;font-size:.8rem}button.cal-day-num{cursor:pointer;color:var(--text-primary)}button.cal-day-num:hover{background:var(--surface-2)}.cal-day.is-today .cal-day-num{background:var(--accent);color:var(--on-accent,#fff);font-weight:700}.cal-day.is-selected{border-color:var(--accent)}.cal-chips{display:grid;gap:4px;align-content:start}.cal-chip{display:block;width:100%;min-width:0;padding:3px 8px;border:1px solid var(--border-color);border-radius:999px;background:transparent;color:var(--text-primary);font:inherit;font-size:.72rem;line-height:1.35;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.cal-chip:hover{border-color:var(--accent)}.cal-chip-cancelled{color:var(--text-secondary);text-decoration:line-through;opacity:.8}.cal-more{border:0;background:none;padding:0 8px;color:var(--text-secondary);font:inherit;font-size:.72rem;text-align:left;cursor:pointer}.cal-details{display:grid;gap:.9rem;align-content:start}.cal-details-title{margin:0;font-size:1rem}.cal-details .program-card{scroll-margin-top:1rem}@media (max-width:640px){.cal-grid{gap:4px}.cal-day{min-height:64px;padding:4px;border-radius:8px}.cal-day-num{min-width:1.4rem;height:1.4rem;font-size:.72rem}.cal-chip{padding:2px 6px}.cal-chip,.cal-more{font-size:.64rem}}