.calendar-toolbar,.calendar-filters,.calendar-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.calendar-toolbar>label,.calendar-filters>label{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--muted,#718096)}
.calendar-toolbar input,.calendar-toolbar select,.calendar-filters select{width:auto;min-width:100px}
.calendar-filters{margin:18px 0 8px}.calendar-check{display:flex;align-items:center;gap:8px;font-size:14px!important;color:inherit!important}
.calendar-check input[type=checkbox]{width:17px;height:17px;flex:0 0 17px;accent-color:var(--accent,#466ce0)}
.calendar-caption{margin:20px 0 14px;font-size:18px}.calendar-content{gap:10px;align-items:stretch}
.calendar-week,.calendar-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.calendar-day{min-width:0;min-height:180px;border:1px solid var(--line,#dce3ee);border-radius:14px;background:var(--surface,#fff);padding:8px}
.calendar-day.is-selected{border-color:var(--accent,#466ce0)}.calendar-day-heading{width:100%;border:0;background:transparent;font-weight:650;padding:8px;text-align:left}
.calendar-day-heading:hover{background:var(--hover,#eef3fc)}.calendar-empty-day{display:block;padding:8px;color:var(--muted,#718096);font-size:12px}
.calendar-event{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;white-space:normal;overflow-wrap:anywhere;line-height:1.4;border:1px solid var(--line,#dce3ee);border-left:3px solid #6688ed;border-radius:10px;padding:10px;margin:8px 0;background:var(--surface-muted,#f4f7fc);color:inherit}
.calendar-event strong{font-size:13px;font-weight:600}.calendar-event small,.calendar-event-kind{font-size:11px;color:var(--muted,#64748b)}
.calendar-layer-groups{border-left-color:#20a78e}.calendar-layer-tasks{border-left-color:#c6973b}.calendar-layer-busy{border-left-color:#8c93a6}
.calendar-month .calendar-day{min-height:145px}.calendar-month .calendar-event{padding:6px;margin:4px 0}.calendar-month .calendar-event-kind{display:none}
.calendar-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}.calendar-list .calendar-event{margin:0}
.calendar-add{border:0;background:transparent;color:var(--accent,#466ce0);font-size:12px}.calendar-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.calendar-form>label:has(textarea),.calendar-form>label:first-child,.calendar-attendee-picker{grid-column:1/-1}
.calendar-form label{min-width:0}.calendar-form input,.calendar-form select,.calendar-form textarea{width:100%;box-sizing:border-box}
.calendar-form .calendar-check input{width:17px}.calendar-attendee-picker{display:flex;gap:12px;flex-wrap:wrap;border:1px solid var(--line,#dce3ee);border-radius:12px;padding:12px}
.calendar-attendee-picker legend{font-size:13px;padding:0 6px}.calendar-availability{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.calendar-availability p,.calendar-availability strong{width:100%}
.calendar-source{border:1px solid var(--line,#dce3ee);border-radius:12px;padding:14px;margin:12px 0}.calendar-source>button{margin:8px 8px 0 0}
.calendar-detail-time{font-size:18px}.calendar-description{white-space:pre-wrap;overflow-wrap:anywhere}.calendar-history{margin-top:20px;font-size:13px}.calendar-actions{margin:16px 0}
@media(max-width:1100px){.calendar-week{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-month{gap:3px}.calendar-month .calendar-day{padding:3px}.calendar-month .calendar-event strong{font-size:11px}}
@media(max-width:650px){.calendar-week{grid-template-columns:1fr}.calendar-month{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-form{grid-template-columns:1fr}.calendar-toolbar{gap:6px}.calendar-toolbar>label{flex:1 1 40%}}
