.calendar-hero-content{width:100%;min-width:0}.calendar-hero h2{margin-top:8px}.calendar-upcoming{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;padding:18px 0;border-top:1px solid #edcfbd}.calendar-upcoming h3{margin-bottom:8px}.calendar-upcoming p{margin:5px 0;overflow-wrap:anywhere}.calendar-upcoming small{color:#79543f}.calendar-countdown{font-variant-numeric:tabular-nums;font-weight:600;display:inline-block;color:#a13e17}.calendar-countdown.overdue{color:#a42e23}.calendar-weeks{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.calendar-weeks a{min-width:44px;text-align:center;padding:9px}.calendar-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px;align-items:end}.calendar-class-picker{grid-column:1/-1}.calendar-picker .field{min-width:0;margin-bottom:0}.calendar-picker select{max-width:100%}.calendar-event{padding:20px 0;border-top:1px solid var(--line)}.calendar-event .row h3{margin:0}.calendar-copy-list{display:grid;gap:10px;max-height:400px;overflow:auto;margin:12px 0 20px}.calendar-copy-list label{display:flex;align-items:start;gap:6px;overflow-wrap:anywhere}.calendar-copy-list input{flex-shrink:0}.calendar-project-state{padding:14px 0;border-bottom:1px solid var(--line)}.calendar-hero .row{align-items:center}@media(max-width:900px){.calendar-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-upcoming{grid-template-columns:1fr;gap:8px}}@media(max-width:520px){.calendar-picker{grid-template-columns:1fr}.calendar-weeks{gap:6px}.calendar-hero .row{align-items:start}}
