.calendar-sidebar .calendar-filter-trigger{width:100%;margin-top:20px}
.calendar-filter-trigger{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface,#fff);color:var(--ink);font-size:13px;font-weight:650;white-space:nowrap}
.calendar-filter-trigger:hover{background:var(--control-bg,var(--blue-bg))}
.calendar-filter-trigger.is-filtered{border-color:var(--blue);color:var(--blue)}
.calendar-filter-trigger>.icon{width:19px;height:19px}
.calendar-filter-trigger b{min-width:20px;height:20px;display:inline-grid;place-items:center;padding:0 5px;background:var(--ink);color:var(--surface,#fff);border-radius:6px;font-size:11px;font-variant-numeric:tabular-nums}
.calendar-filter-trigger b[hidden]{display:none}
.calendar-filter-panel{position:fixed;inset:auto;margin:0;width:min(320px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:16px;border:0;border-radius:16px;background:var(--surface,#fff);color:var(--ink);box-shadow:0 16px 48px #071c5833;font:inherit;overflow:auto;overscroll-behavior:contain;z-index:160}
.calendar-filter-panel::backdrop{background:transparent;pointer-events:none}
.calendar-filter-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.calendar-filter-head h2{font-size:17px;line-height:1.3;font-weight:700}
.calendar-filter-close{display:grid;place-items:center;width:44px;height:44px;flex:none;margin:-8px -8px -8px 0;border-radius:10px;color:var(--muted)}
.calendar-filter-close:hover{background:var(--control-bg,var(--blue-bg))}
.calendar-filter-status{margin:9px 0 12px;color:var(--muted);font-size:12px;line-height:1.5}
.calendar-filter-options{display:grid;gap:2px;max-height:min(360px,50dvh);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.calendar-filter-panel .calendar-filter-options .filter-row{min-height:44px;padding:7px 4px;gap:10px;font-size:14px;line-height:1.4;color:var(--ink)}
.calendar-filter-options .filter-row>span:last-child{min-width:0;overflow-wrap:anywhere}
.calendar-filter-options input{width:18px;height:18px;flex:none;accent-color:var(--blue)}
.calendar-filter-options .color-dot{width:12px;height:12px}
.calendar-filter-options .ungrouped .color-dot{background:var(--muted)}
.calendar-filter-options .demo-folder-top label{min-height:44px}
.calendar-filter-empty{font-size:14px;line-height:1.5;color:var(--muted)}
.calendar-filter-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;margin-top:12px;padding-top:8px;border-top:1px solid var(--line)}
.calendar-filter-actions button{min-height:44px;padding:6px 0;color:var(--blue);font-size:12px;font-weight:650}
.calendar-filter-actions button:disabled{color:var(--muted);opacity:.65}
@media(max-width:760px){.mobile-month>.calendar-filter-trigger{min-height:44px;flex:none;margin:0;padding:8px 10px;font-size:12px}.mobile-month:has(>.calendar-filter-trigger){gap:10px}.mobile-month .mobile-month-toggle{min-width:0;margin-left:0}.calendar-filter-panel{padding:18px}}
.calendar-view-trigger{flex:none}
.calendar-view-panel .calendar-zoom{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px 4px;margin-top:18px;padding:0;border:0;background:transparent}
.calendar-view-panel .calendar-zoom button,.calendar-view-panel .calendar-zoom select{min-width:44px;height:44px;background:var(--control-bg,var(--blue-bg));color:var(--ink);border-radius:8px}
.calendar-view-panel .calendar-zoom select{grid-column:span 4;max-width:none;width:100%;padding:0 8px;font-size:14px}
.calendar-view-panel .calendar-zoom .zoom-divider{display:none}
.calendar-view-panel .calendar-zoom .zoom-detail,.calendar-view-panel .calendar-zoom .zoom-reset{display:block;grid-column:span 3;font-size:13px}
@media(max-width:380px){.mobile-month>.calendar-filter-trigger>span{display:none}}
