.spinner-container{justify-content:center;align-items:center;display:inline-flex}.spinner-container.sm .spinner{border-width:2px;width:16px;height:16px}.spinner-container.md .spinner{border-width:3px;width:32px;height:32px}.spinner-container.lg .spinner{border-width:6px;width:64px;height:64px}.spinner-container.xl .spinner{border-width:8px;width:128px;height:128px}.spinner-container .spinner{border-style:solid;border-color:#0000001a;border-left-color:var(--main-color-one);border-radius:50%;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
.empty-container{text-align:center;color:#6b7280;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.empty-icon{color:currentColor;opacity:.3;margin-bottom:1rem}.empty-message{color:#374151;font-size:1.125rem;font-weight:600}.empty-description{color:#9ca3af;margin-top:.5rem;font-size:.875rem}
.pagination-container{justify-content:center;align-items:center;gap:6px;margin-top:40px;margin-bottom:20px;display:flex}.pagination-btn{color:#333;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #e1e1e1;border-radius:6px;justify-content:center;align-items:center;min-width:36px;height:36px;padding:0 8px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.pagination-btn:hover:not(:disabled){background:#f4f5f7;border-color:#d1d1d1}.pagination-btn.active{background:var(--main-color-one);color:#fff}.pagination-btn:disabled{opacity:.5;cursor:not-allowed;background:#f9f9f9}.pagination-ellipsis{color:#888;padding:0 4px}
.view-switcher-container{background:#f4f5f7;border-radius:20px;min-width:140px;padding:4px;display:inline-flex;position:relative;box-shadow:inset 0 2px 4px #0000000d}.view-switcher-indicator{z-index:0;background:#fff;border-radius:16px;width:calc(50% - 4px);height:calc(100% - 8px);transition:transform .5s;position:absolute;top:4px;left:4px;box-shadow:0 2px 8px #00000014}.grid-active .view-switcher-indicator{transform:translate(0)}.list-active .view-switcher-indicator{transform:translate(100%)}.view-switcher-btn{color:#888;cursor:pointer;z-index:1;background:0 0;border:none;border-radius:16px;flex:1;justify-content:center;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:600;transition:color .3s;display:flex;position:relative}.view-switcher-btn i{color:inherit;font-size:16px}.view-switcher-btn.active{color:var(--main-color-one);font-weight:600}
.sort-dropdown-container{z-index:100;background:#f4f5f7;border:1px solid #0000;border-radius:30px;align-items:center;height:40px;padding:0 16px;transition:all .3s;display:inline-flex;position:relative}.sort-dropdown-container:hover{background:#ebedf0;border-color:#e0e0e0}.sort-dropdown-trigger{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;width:200px;display:flex;position:relative}.sort-dropdown-trigger .sort-icon{color:var(--main-color-one);font-size:14px}.sort-dropdown-current-text{color:#444;white-space:nowrap;text-overflow:ellipsis;flex-grow:1;padding-right:20px;font-size:13px;font-weight:600;overflow:hidden}.sort-dropdown-list{z-index:1000;background:#fff;border:1px solid #f0f0f0;border-radius:12px;width:220px;margin:0;padding:8px;list-style:none;animation:.2s ease-out sortFadeInDown;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 10px 25px #0000001a}@keyframes sortFadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.sort-dropdown-item{color:#666;cursor:pointer;border-radius:8px;align-items:center;padding:10px 15px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.sort-dropdown-item:hover{color:var(--main-color-one);background:#f4f5f7}.sort-dropdown-item.selected{color:var(--main-color-one);background:#fdf5ef;font-weight:600}.sort-dropdown-arrow{pointer-events:none;color:#999;transition:transform .3s;position:absolute;right:0;font-size:10px!important}.sort-dropdown-arrow.rotate{transform:rotate(180deg)}
