.filter-modal-overlay{background:var(--color-bg-overlay);z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.filter-modal{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:560px;max-height:92dvh;padding-bottom:env(safe-area-inset-bottom);background:#fff;flex-direction:column;animation:.25s ease-out sheetSlideUp;display:flex;box-shadow:0 -4px 24px #0000001f}@keyframes sheetSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media (width>=480px){.filter-modal-overlay{align-items:center;padding:20px}.filter-modal{border-radius:var(--radius-xl);animation:.2s ease-out sheetScaleIn}@keyframes sheetScaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}}.filter-modal-header{border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:#f8f9fa;border-bottom:1px solid #e9ecef;flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.filter-modal-header h3{color:#2c3e50;margin:0;font-size:1.25rem;font-weight:600}.close-button{cursor:pointer;color:#6c757d;background:0 0;border:none;border-radius:4px;padding:4px;transition:all .2s}.close-button:hover{color:#495057;background:#e9ecef}.filter-modal-content{overscroll-behavior:contain;flex:1;padding:20px 24px 24px;overflow-y:auto}.filter-group{margin-bottom:20px}.filter-group:last-child{margin-bottom:0}.filter-group-header{text-transform:uppercase;letter-spacing:.07em;color:#9ca3af;border-bottom:1px solid #e9ecef;align-items:center;gap:5px;margin:0 0 12px;padding-bottom:10px;font-size:.7rem;font-weight:700;display:flex}.filter-pair-row,.filter-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.filter-section{margin-bottom:0}.filter-section-completed{margin-top:12px}.filter-section h4{color:#495057;align-items:center;gap:5px;margin:0 0 6px;font-size:.8rem;font-weight:600;display:flex}.filter-active-dot-inline{background:var(--color-primary,#6c63ff);border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.filter-select{color:#495057;cursor:pointer;background:#fff;border:1.5px solid #ced4da;border-radius:6px;width:100%;padding:8px 10px;font-size:13px;transition:border-color .2s;position:relative}.filter-select:focus{border-color:var(--color-primary,#6c63ff);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-primary,#6c63ff) 15%, transparent);outline:none}.checkbox-options{flex-direction:column;gap:10px;display:flex}.checkbox-label{cursor:pointer;color:#495057;-webkit-user-select:none;user-select:none;align-items:center;font-size:13px;display:flex}.checkbox-label input[type=checkbox]{opacity:0;position:absolute}.checkmark{border:2px solid #ced4da;border-radius:4px;flex-shrink:0;width:16px;height:16px;margin-right:8px;transition:all .2s;position:relative}.checkbox-label:hover .checkmark{border-color:var(--color-primary,#6c63ff)}.checkbox-label input[type=checkbox]:checked+.checkmark{background:var(--color-primary,#6c63ff);border-color:var(--color-primary,#6c63ff)}.checkbox-label input[type=checkbox]:checked+.checkmark:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:7px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.archive-link-btn{color:#6c757d;cursor:pointer;text-align:center;background:0 0;border:none;width:100%;padding:0;font-size:13px;transition:color .15s;display:block}.archive-link-btn:hover{color:#495057}.archive-link-btn.active{color:var(--color-primary,#6c63ff);font-weight:500}.completed-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.completed-date-range-select{flex-shrink:0;min-width:120px}.filter-modal-footer{border-radius:0 0 var(--radius-xl) var(--radius-xl);background:#f8f9fa;border-top:1px solid #e9ecef;flex-direction:column;flex-shrink:0;gap:12px;padding:16px 24px 32px;display:flex}.filter-modal-footer-buttons{gap:12px;display:flex}.filter-btn{cursor:pointer;border:none;border-radius:6px;flex:1;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.filter-btn.primary{background:var(--color-primary,#6c63ff);color:#fff}.filter-btn.primary:hover{filter:brightness(.9);transform:translateY(-1px)}.filter-btn.secondary{color:#fff;background:#6c757d}.filter-btn.secondary:hover{background:#545b62;transform:translateY(-1px)}.filter-btn:active{transform:translateY(0)}
