.calendar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.month-picker{display:flex;align-items:center;gap:7px}.month-picker input{margin:0;width:155px;padding:9px 10px}.month-picker button{padding:9px 12px}.calendar-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;margin-bottom:14px}.calendar-summary h2{margin:0;font-size:18px;letter-spacing:-.02em}.calendar-summary p{margin:4px 0 0;color:var(--muted);font-size:10px}.calendar-legend{display:flex;gap:14px;color:#65748b;font-size:10px;font-weight:700}.calendar-legend span{display:flex;align-items:center;gap:6px}.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.legend-dot.away{background:#5f78ed}.legend-dot.today{background:#0f9f6e}.month-calendar{overflow:hidden}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#f7f9fc;border-bottom:1px solid var(--line)}.calendar-weekdays span{padding:10px 12px;text-align:center;font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#78869b}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{min-height:112px;padding:9px;border-right:1px solid #edf1f6;border-bottom:1px solid #edf1f6;background:#fff}.calendar-day:nth-child(7n){border-right:0}.calendar-day.outside{background:#fafbfd;color:#aab4c4}.calendar-day.is-today{background:linear-gradient(180deg,#f3fbf8,#fff);box-shadow:inset 0 0 0 1px rgba(15,159,110,.28)}.calendar-day-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.day-number{font-size:11px;font-weight:850;color:#37465e}.outside .day-number{color:#aeb7c5}.today-label{font-size:8px;font-weight:850;color:#0d8e62;background:#e9f8f2;border-radius:999px;padding:3px 6px}.day-events{display:flex;flex-direction:column;gap:4px;margin-top:8px}.away-chip,.more-chip{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:6px;padding:4px 6px;font-size:8px;font-weight:750}.away-chip{background:#eef2ff;color:#405dcc;border-left:2px solid #607cf0}.more-chip{background:#f2f5f9;color:#77859a;text-align:center}.outside .away-chip{opacity:.6}@media(max-width:900px){.calendar-summary{align-items:flex-start;flex-direction:column}.month-calendar{overflow-x:auto}.calendar-weekdays,.calendar-grid{min-width:760px}}@media(max-width:620px){.calendar-actions{width:100%}.calendar-actions .button{flex:1}.month-picker{order:3;width:100%}.month-picker input{flex:1;width:auto}.month-picker button{width:auto}.calendar-summary{padding:15px}}