.cal-overview{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.cal-overview>div{border-left:3px solid var(--blue);padding:4px 0 4px 18px;display:grid;gap:8px}.cal-overview span,.cal-overview small{color:var(--muted);font-size:14px}.cal-overview strong{font-size:17px;font-weight:600}.cal-overview b{color:var(--line);padding:0 6px}.cal-panel{overflow:hidden}.cal-toolbar{padding:22px;display:flex;flex-direction:column;gap:18px;border-bottom:1px solid var(--line)}.cal-dates,.cal-options{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cal-dates h2{font-size:18px;margin:0 12px}.cal-jump{margin-left:auto}.cal-options{justify-content:space-between}.cal-toolbar select,.cal-filters select,.cal-jump input{padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:inherit;font:inherit;font-size:14px}.cal-mode{display:flex;background:var(--bg);padding:4px;border-radius:10px}.cal-mode button{background:transparent;color:var(--muted);border:0;border-radius:8px;padding:9px 16px;font:inherit;font-size:14px;cursor:pointer}.cal-mode button.active{background:var(--card);color:var(--blue);box-shadow:0 1px 5px #0001}.cal-filters{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 22px}.cal-zone-label{margin-left:auto;font-size:12px;color:var(--muted)}.cal-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);min-height:330px}.cal-day{border-right:1px solid var(--line);min-width:0}.cal-day:last-child{border:0}.cal-day>header{height:90px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:var(--bg);border-bottom:1px solid var(--line)}.cal-day>header>span{text-transform:uppercase;font-size:12px;color:var(--muted)}.cal-day>header strong{font-size:23px}.cal-day>header small{font-size:12px;color:var(--blue)}.cal-day.today>header{background:var(--soft);color:var(--blue)}.cal-day-events{padding:8px;display:grid;align-content:start;gap:10px}.cal-event{display:flex;flex-direction:column;text-align:left;gap:7px;width:100%;padding:12px 10px;background:var(--soft);border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:10px;color:inherit;cursor:pointer;overflow-wrap:anywhere;transition:transform .15s}.cal-event:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0001}.cal-event strong{font-size:14px;line-height:1.45;font-weight:650}.cal-event small,.cal-event-type{font-size:12px;line-height:1.5;color:var(--muted)}.cal-event-time{font-size:14px;font-weight:600;line-height:1.5}.cal-deadline{border-left-color:#c98720;background:#fff8eb}.cal-exam{border-left-color:#b35692;background:#fff2fa}.cal-release{border-left-color:#299778;background:#f0faf6}.cal-past{opacity:.72}.cal-status{font-size:12px;align-self:flex-start;line-height:1.5}.cal-status.live{background:#d7f3e2;color:#136239;padding:3px 7px;border-radius:6px}.cal-status.overdue{color:#a0482b}.cal-status.submitted{color:#17784e}.cal-status.draft{border:1px dashed currentColor;padding:2px 6px;border-radius:5px}.cal-moved{font-size:12px;color:var(--blue)}.cal-free{text-align:center;color:var(--muted);font-size:12px;margin:25px 0}.cal-list{display:block;padding:0 22px}.cal-list .cal-day{display:grid;grid-template-columns:120px 1fr;border:0;border-bottom:1px solid var(--line);padding:20px 0}.cal-list .cal-day>header{border:0;background:none;align-items:flex-start}.cal-list .cal-day-events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cal-list .cal-free{text-align:left}.cal-empty{padding:20px;color:var(--muted);font-size:14px;text-align:center}.cal-detail-time{display:grid;gap:8px;background:var(--soft);padding:20px;border-radius:14px;margin:22px 0}.cal-detail-time strong{font-size:22px}.cal-detail-time span{font-size:16px}.cal-change{font-size:14px;line-height:1.6;color:var(--blue)}.cal-overdue{display:flex;align-items:center;gap:12px;padding:14px 18px;background:#fff4e5;color:#97551c;border:1px solid #edd7b7;border-radius:12px;width:100%;margin-bottom:20px;text-align:left;cursor:pointer}.cal-overdue svg{width:20px}.cal-overdue span{margin-left:auto}.cal-overdue-list{display:grid;gap:12px;margin-top:20px}#cal-form .field{margin-top:20px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[data-theme=dark] .cal-deadline{background:#302a21}[data-theme=dark] .cal-exam{background:#302331}[data-theme=dark] .cal-release{background:#1c302c}[data-theme=dark] .cal-overdue{background:#302a21;color:#f0c887;border-color:#604b2e}[data-theme=dark] .cal-status.overdue{color:#ffb79b}[data-theme=dark] .cal-status.submitted{color:#8dd5b2}
@media(max-width:1100px){.cal-week{grid-template-columns:repeat(4,minmax(0,1fr))}.cal-day{border-bottom:1px solid var(--line)}.cal-week.cal-list{display:block}.cal-dates h2{flex-basis:100%;order:3;margin:10px 0 0}}@media(max-width:650px){.cal-overview{grid-template-columns:1fr;gap:18px}.cal-toolbar{padding:16px}.cal-filters{padding:14px;gap:12px}.cal-filters .chips{width:100%;overflow:auto;flex-wrap:nowrap}.cal-zone-label{margin-left:0}.cal-mode{display:none}.cal-options{justify-content:flex-start}.cal-jump input{max-width:145px}.cal-dates{gap:6px}.cal-week,.cal-week.cal-list{display:block;padding:0 14px;min-height:0}.cal-week .cal-day{display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px;border:0;border-bottom:1px solid var(--line);padding:16px 0}.cal-week .cal-day>header{background:none;border:0;height:auto;align-self:start;align-items:center;padding-top:8px}.cal-week .cal-day-events{padding:0;display:grid;grid-template-columns:1fr}.cal-event{padding:16px}.cal-event strong{font-size:16px}.cal-free{text-align:left;margin:15px 0}.cal-overdue{font-size:14px;flex-wrap:wrap}.cal-overdue span{margin-left:32px}.cal-day.today>header strong{background:var(--blue);color:#fff;border-radius:10px;padding:3px 8px}.cal-dates h2{font-size:16px}.cal-day>header small{font-size:11px}}
.cal-week:not(.cal-list) .cal-event strong{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.cal-event small{overflow-wrap:normal}@media(max-width:650px){.cal-week:not(.cal-list) .cal-event strong{display:block;overflow:visible}}
.cal-next-event{border:0;border-left:3px solid var(--blue);padding:4px 0 4px 18px;background:none;display:grid;gap:8px;text-align:left;font:inherit;color:inherit;cursor:pointer}.cal-next-event:hover strong{color:var(--blue)}@media(max-width:650px){.cal-overview>div{display:none}.cal-overview{margin-bottom:18px}.content:has(.cal-panel)>.heading{margin-bottom:18px}.content:has(.cal-panel)>.heading .eyebrow,.content:has(.cal-panel)>.heading .subline{display:none}.cal-next-event strong{font-size:16px}.cal-next-event small{font-size:13px}.cal-day:first-child .cal-free{margin:10px 0}}
.cal-filters .chips .chip{flex:none;white-space:nowrap}
