.cal{flex-direction:column;gap:20px;padding:40px 60px 56px;display:flex}.cal__bar{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.cal__filters{flex-wrap:wrap;gap:12px;display:flex}.cal__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;display:grid}.cal__col{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);flex-direction:column;gap:10px;min-height:460px;padding:12px;display:flex}.cal__col--today{border-color:var(--aqua);background:#fbfdfe}.cal__head{border-bottom:1px solid var(--line-soft);flex-direction:column;gap:1px;padding:4px 4px 8px;display:flex}.cal__day{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);font-size:11px;font-weight:700}.cal__col--today .cal__day{color:var(--aqua-text)}.cal__date{font-family:var(--font-display), var(--font-display-fallback);font-size:17px;font-weight:800}.cal__empty{color:var(--ink-ghost);padding:4px;font-size:12px}.cal__slot{border-radius:var(--radius-sm);background:var(--shallow);color:var(--ink);border:1.5px solid #0000;flex-direction:column;gap:3px;padding:12px;display:flex}a.cal__slot:hover{border-color:var(--deep);color:var(--ink)}.cal__slot--full,.cal__slot--past{background:var(--line-soft);color:var(--ink-soft)}.cal__slot--past{opacity:.6}.cal__time{font-family:var(--font-display), var(--font-display-fallback);font-size:17px;font-weight:800}.cal__course{font-size:13px;font-weight:600}.cal__meta{color:var(--ink-soft);font-size:11px}.cal__seats{color:var(--kelp-text);font-size:12px;font-weight:600}.cal__seats--full{color:var(--ink-ghost)}@media (max-width:1200px){.cal{padding:24px 20px 40px}.cal__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cal__col{min-height:0}}@media (max-width:700px){.cal{gap:16px;padding:18px 16px 32px}.cal__grid{grid-template-columns:minmax(0,1fr)}.cal__filters .toggle{border-radius:var(--radius-lg);row-gap:4px}.cal__bar h1{font-size:26px}}