.filter-modal-overlay{position:fixed;inset:0;z-index:var(--ds-z-modal);display:flex;align-items:center;justify-content:center;background-color:var(--ds-scrim);font-family:var(--ds-font-sans);color:var(--ds-text);animation:filter-modal-fadeIn var(--ds-dur-base) var(--ds-ease-enter) backwards}.filter-modal-content{display:flex;flex-direction:column;width:90%;max-width:500px;max-height:80vh;overflow:hidden;box-sizing:border-box;background:var(--ds-surface-raised);border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-xl);box-shadow:var(--ds-shadow-modal);animation:filter-modal-slideUp var(--ds-dur-base) var(--ds-ease-enter) backwards}.filter-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--ds-space-5);border-bottom:1px solid var(--ds-border)}.filter-modal-header h3{margin:0;font-size:var(--ds-text-h3);font-weight:var(--ds-weight-semibold);line-height:var(--ds-leading-snug);letter-spacing:var(--ds-tracking-tight);color:var(--ds-text)}.filter-modal-header button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--ds-radius-md);background:none;color:var(--ds-text-muted);cursor:pointer;transition:background-color var(--ds-dur-fast) var(--ds-ease-enter),color var(--ds-dur-fast) var(--ds-ease-enter)}.filter-modal-header button:hover{background-color:var(--ds-surface-sunken);color:var(--ds-text)}.filter-modal-header button:focus-visible{outline:2px solid var(--ds-focus);outline-offset:var(--ds-focus-offset)}.filter-modal-body{flex:1 1;overflow-y:auto;padding:var(--ds-space-5)}.filter-modal-footer{display:flex;justify-content:flex-end;gap:var(--ds-space-2);padding:var(--ds-space-4) var(--ds-space-5);border-top:1px solid var(--ds-border)}.filter-modal-field{margin-bottom:var(--ds-space-4)}.filter-modal-field:last-child{margin-bottom:0}.filter-modal-field label{display:block;margin-bottom:var(--ds-space-1);font-size:var(--ds-text-sm);font-weight:var(--ds-weight-medium);line-height:var(--ds-leading-snug);color:var(--ds-text)}.filter-modal-field input,.filter-modal-field select{width:100%;height:var(--ds-control-h);padding:0 var(--ds-space-3);box-sizing:border-box;border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-md);background:var(--ds-surface-raised);color:var(--ds-text);font-family:var(--ds-font-sans);font-size:var(--ds-text-ui);transition:border-color var(--ds-dur-fast) var(--ds-ease-enter),box-shadow var(--ds-dur-fast) var(--ds-ease-enter)}.filter-modal-field input:hover,.filter-modal-field select:hover{border-color:var(--ds-text-muted)}.filter-modal-field input:focus,.filter-modal-field select:focus{outline:none;border-color:var(--ds-accent);box-shadow:var(--ds-shadow-ring)}.filter-modal-field input::-moz-placeholder{color:var(--ds-text-muted);opacity:.8}.filter-modal-field input::placeholder{color:var(--ds-text-muted);opacity:.8}@keyframes filter-modal-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes filter-modal-slideUp{0%{opacity:0;transform:scale(var(--ds-scale-enter))}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.filter-modal-content{animation-name:filter-modal-fadeIn}}