.quick-view-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .3s cubic-bezier(0.4, 0, 0.2, 1);z-index:1000}
.quick-view-overlay.show{opacity:1;pointer-events:auto}
.quick-view-panel{position:fixed;top:0;right:0;height:100vh;width:min(420px,100vw);background:#fff;box-shadow:0 20px 40px rgba(0,0,0,.2),0 8px 16px rgba(0,0,0,.15);border-left:1px solid #e6e6e6;transform:translateX(100%);transition:transform .3s cubic-bezier(0.4, 0, 0.2, 1);z-index:1001;display:flex;flex-direction:column}
.quick-view-panel.show{transform:translateX(0)}
.quick-view-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e6e6e6;background:#fff}
.quick-view-title{font-family:'Crimson Text',serif;font-weight:600;margin:0}
.quick-view-close{background:transparent;border:0;font-size:24px;line-height:1;color:#444;cursor:pointer}
.quick-view-content{padding:20px;overflow:auto}
.sort-bar{display:flex;gap:8px;align-items:center;padding:6px 0 10px}
.sort-btn{appearance:none;border:1px solid #e6e6e6;background:#fff;color:#2a2a2a;padding:6px 10px;border-radius:6px;font-size:.9rem;cursor:pointer}
.sort-btn.active{border-color:#c9a961;color:#c9a961;box-shadow:0 0 0 3px rgba(201,169,97,.18)}
.sort-btn[data-dir="desc"]::after{content:" ↓"}
.sort-btn[data-dir="asc"]::after{content:" ↑"}
@media (max-width:640px){.quick-view-panel{width:min(100vw,480px)}}

/* Professional filter animation */
.filter-controls{display:flex;gap:16px;align-items:center}
.filter-group{display:flex;gap:8px;flex-wrap:wrap}
.filter-btn{position:relative;border:1px solid #e6e6e6;background:#fff;color:#2a2a2a;padding:8px 12px;border-radius:8px;cursor:pointer;transition:color .16s ease-out,background .16s ease-out,border-color .16s ease-out}
.filter-btn::after{content:"";position:absolute;left:10%;right:10%;bottom:-4px;height:2px;background:#c9a961;transform:scaleX(0);transform-origin:left;transition:transform .18s ease-out}
.filter-btn.selected{border-color:#c9a961;color:#222;background:#fff;box-shadow:none}
.filter-btn.selected::after{transform:scaleX(1)}
.clients-list{transition:opacity .16s ease-out}
.clients-list.list-transition-out{opacity:0;transform:none;filter:none;transition:opacity .16s ease-out}
